OVERCODE

MSSQL 테이블 컬럼, 데이터타입, 길이, 기본값, 설명 등 리스트로 뿌리기, 테이블명세서, Table Column, DataType, Column_Length, Column_Default, Comment, Description 본문

프로그래밍/SQL

MSSQL 테이블 컬럼, 데이터타입, 길이, 기본값, 설명 등 리스트로 뿌리기, 테이블명세서, Table Column, DataType, Column_Length, Column_Default, Comment, Description

오버코드 2018. 6. 7. 15:39


Microsoft SQL Server Management Sutdio 를 사용중인데 테이블에 관한 정보를 내가 원하는대로 편하게 볼 수 있는 방법이 없었다.

아래의 쿼리로 해결한다.


테이블 Description, 컬럼명, DataType, Column_Length, Column_Default, Is_Nullable, 컬럼 Description 가져오기


SELECT 
	A.Table_Name,
	C.Value Table_Description, 
	A.Column_Name, 
	A.Data_Type, 
	isNULL(
		CAST(A.Character_Maximum_Length as VARCHAR), CAST(A.Numeric_Precision as VARCHAR) + ',' + CAST(A.Numeric_Scale as VARCHAR)
	) Column_Length, 
	A.Column_Default, 
	CASE WHEN A.Is_Nullable = 'YES' THEN 'Y' ELSE 'N' END Is_Nullable, 
	B.value Colum_Description 
FROM INFORMATION_SCHEMA.ColumnS A 
	LEFT JOIN SYS.EXTENDED_PROPERTIES B 
		ON B.Major_Id = OBJECT_ID(A.Table_Name) 
		AND B.Minor_Id = A.Ordinal_Position 
	LEFT JOIN ( SELECT OBJECT_ID(Objname) Table_Id,Value FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'user','dbo','Table',NULL, NULL, NULL) ) c 
		ON C.Table_id = OBJECT_ID(A.Table_Name)
WHERE A.Table_Name = '테이블명' 
ORDER BY A.Table_Name, A.Ordinal_Position


출처: http://rocabilly.tistory.com/60 [프로그램이 좋다]


Comments