SQL 테이블에 속한 필드 이름을 조회하여 사용해 보자
요약
- 테이블 필드명을 리스트업 하기 위해서는
sys.columns
를 이용하여object_id
에 원하는 테이블의 ID를 넣고 조회하면 됩니다.
문제의 발단
필드(컬럼)가 90개나 되는 테이블에 데이터 하나를 넣으려니 저같은 비전공자, 비전문가에게는 필드 Array
를 만들때, 필드명을 하나씩 치고 있는 다는 것 자체가 곤욕이었습니다. 언제 90개의 필드명을 다 타이핑 하고 있겠습니까. 테이블 관리자도 아닌데 말이죠.
sys.columns 에서 조회하기
그래서 방법을 찾아 보았더니, 역시나 있었습니다. 당연하지만, SQL 이 그렇게 허술하지 않겠죠.
Select * from sys.columns
Where object_id = Object_ID('테이블 이름')
sys.Columns
에서 정보를 조회(Select
) 하는데, object_id
가 필드명이 알고 싶은 테이블의 ID 와 일치하는 필드의 정보만 조회 하는 것입니다.
여기서 object_id
는 sys.columns
에 속한 필드이고, 조회된 자료에서 name
필드에 필드명이 있습니다.
Object_ID
함수는 조회를 원하는 테이블 이름을 파리미터로 넣으면 해당 테이블의 ID를 반환해 줍니다.
참고로 테이블 ID를 넣으면 테이블 이름을 뱉어주는 Object_Name
이라는 함수도 있습니다.
참고로 저는 문과충에 이런거 비전문가라서 용어나 설명에 문제가 있을 수도 있음을 알려드려요. 저렇게 해보니까 일단 되긴 되네요.
댓글 남기기