MSSQL 製作 Table Schema 相關語法

 

 

在撰寫 Table Schema 的時候,若不知道語法

需要花費相當多的時間在複製資料表欄位屬性以及撰寫欄位用途

通常對資料表印象最深,往往是在開發資料庫階段

這時候不妨將其功能描述寫到〝描述〞內

在用 Sql Command 將其呼叫出來

參考範例如下:


USE DBName

SELECT
    a.TABLE_NAME                as 表格名稱,
    b.COLUMN_NAME               as 欄位名稱,
    b.DATA_TYPE                 as 資料型別,
    b.CHARACTER_MAXIMUM_LENGTH  as 最大長度,
    b.COLUMN_DEFAULT            as 預設值,
    b.IS_NULLABLE               as 允許空值,
    (
        SELECT
            value
        FROM
            fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', 
                                     a.TABLE_NAME, 'column', default)
        WHERE
            name='MS_Description' 
            and objtype='COLUMN' 
            and objname Collate Chinese_Taiwan_Stroke_CI_AS=b.COLUMN_NAME
    ) as 欄位備註
FROM    INFORMATION_SCHEMA.TABLES  a LEFT JOIN INFORMATION_SCHEMA.COLUMNS b 
ON (a.TABLE_NAME=b.TABLE_NAME)

WHERE
    TABLE_TYPE='BASE TABLE'

ORDER BY
    a.TABLE_NAME, ordinal_position

可輕鬆整理出 Table Schema 文件