SQL 테이블에 속한 필드 이름을 조회하여 사용해 보자

Copy URL

요약

  • 테이블 필드명을 리스트업 하기 위해서는
  • 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_idsys.columns 에 속한 필드이고, 조회된 자료에서 name 필드에 필드명이 있습니다.

Object_ID 함수는 조회를 원하는 테이블 이름을 파리미터로 넣으면 해당 테이블의 ID를 반환해 줍니다.

참고로 테이블 ID를 넣으면 테이블 이름을 뱉어주는 Object_Name 이라는 함수도 있습니다.

참고로 저는 문과충에 이런거 비전문가라서 용어나 설명에 문제가 있을 수도 있음을 알려드려요. 저렇게 해보니까 일단 되긴 되네요.

참고 자료

0.1K views0 comment

관련 포스트



이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다