본문 바로가기

Database/MS-SQL

테이블 명세서 VIEW

SELECT A.TABLE_NAME, 
       C.VALUE                             AS TABLE_COMMENT, 
       A.ORDINAL_POSITION,
       A.COLUMN_NAME, 
       B.VALUE                             AS COLUM_COMMENT, 
       A.COLUMN_DEFAULT, 
       A.IS_NULLABLE, 
       A.DATA_TYPE, 
       ISNULL(Cast(A.CHARACTER_MAXIMUM_LENGTH AS VARCHAR), 
       Cast(A.NUMERIC_PRECISION AS VARCHAR) + ',' 
       + Cast(A.NUMERIC_SCALE AS VARCHAR)) AS COLUMN_LENGTH 
FROM   INFORMATION_SCHEMA.COLUMNS A 
       LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES B 
                    ON B.MAJOR_ID = Object_id(A.TABLE_NAME) 
                       AND A.ORDINAL_POSITION = B.MINOR_ID 
       LEFT OUTER JOIN (SELECT Object_id(OBJNAME) AS TABLE_ID, 
                               VALUE 
                        FROM   ::FN_LISTEXTENDEDPROPERTY (NULL, 'User', 'dbo', 
                               'table', 
                               NULL, NULL, 
                               NULL)) C 
                    ON Object_id(A.TABLE_NAME) = C.TABLE_ID 
WHERE  A.TABLE_NAME LIKE 'TB%' 
--ORDER  BY A.TABLE_NAME, 
--          A.ORDINAL_POSITION 

'Database > MS-SQL' 카테고리의 다른 글

Table 명세서 쿼리  (0) 2010.01.19