MS-SQL에 저장되어 있는 Table과 Column의 설명 및 정보를 가져와보자.
다른 DB도 마찬가지겠지만 (오라클은 있었던걸로 기억...)
아무튼 DB자체에도 테이블과 컬럼의 설명을 넣을수 있도록 되어 있다.
개인적으로는 문서로 만들어 놓는거 보다(실컷 문서를 뒤졌는데 새롭게 추가된 컬럼이였으면 안적혀있을때가 많다...)
그냥 필요할때 검색해서 보면 되니 DB자체 Description을 더 선호한다.
DECLARE @TABLE_NAME NVARCHAR(50) = '테이블이름';
SELECT D.COLORDER AS COLUMN_IDX -- Column Index
, A.NAME AS TABLE_NAME -- Table Name
, C.VALUE AS TABLE_DESCRIPTION -- Table Description
, D.NAME AS COLUMN_NAME -- Column Name
, E.VALUE AS COLUMN_DESCRIPTION -- Column Description
, F.DATA_TYPE AS TYPE -- Column Type
, F.CHARACTER_OCTET_LENGTH AS LENGTH -- Column Length
, F.IS_NULLABLE AS IS_NULLABLE -- Column Nullable
, F.COLLATION_NAME AS COLLATION_NAME -- Column Collaction Name
FROM SYSOBJECTS A WITH (NOLOCK)
INNER JOIN SYSUSERS B WITH (NOLOCK) ON A.UID = B.UID
INNER JOIN SYSCOLUMNS D WITH (NOLOCK) ON D.ID = A.ID
INNER JOIN INFORMATION_SCHEMA.COLUMNS F WITH (NOLOCK)
ON A.NAME = F.TABLE_NAME
AND D.NAME = F.COLUMN_NAME
LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES C WITH (NOLOCK)
ON C.MAJOR_ID = A.ID
AND C.MINOR_ID = 0
AND C.NAME = 'MS_Description'
LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES E WITH (NOLOCK)
ON E.MAJOR_ID = D.ID
AND E.MINOR_ID = D.COLID
AND E.NAME = 'MS_Description'
WHERE 1=1
AND A.TYPE = 'U'
AND A.NAME = @TABLE_NAME
ORDER BY D.COLORDER
관련글
[MS-SQL] 테이블 및 컬럼 Description 추가, 수정하기 |
날다의 운영환경 | |
---|---|
본체 | MacBook Pro |
O S | Windows7 Ultimate K |
Application | Microsoft SQL Server Management Studio 2017 V17.2 |
MS-SQL | Micorsoft SQL Server 2016(SP1-CU5) |
'DBMS > MS-SQL' 카테고리의 다른 글
[MS-SQL] [Function] 컬럼명 변경 하기 (SP_RENAME) (0) | 2019.04.09 |
---|---|
[MS-SQL] [ALTER] 테이블에 컬럼 추가 하기 (0) | 2019.04.09 |
[MS-SQL] 날짜, 시간차이 구하기 (DATEDIFF) (0) | 2018.06.14 |
[MS-SQL] 현재 날짜, 시간 구하기 (GETDATE()) (0) | 2018.06.12 |
[MS-SQL] 특정 기간 범위 구하기 (0) | 2018.06.11 |