[MSSQL]產出schema語法 – 貓羽的動漫日誌

[MSSQL]產出schema語法

這個功能有時候會用得到

語法如下,只要改TEST的部份為指定的資料庫就能查詢資料表名稱、欄位名稱、欄位長度

USE test

SELECT a.Table_schema +’.’+a.Table_name as 表格名稱

,b.COLUMN_NAME as 欄位名稱

,b.DATA_TYPE as 資料型別

,isnull(b.CHARACTER_MAXIMUM_LENGTH,”) as 長度

,isnull(b.COLUMN_DEFAULT,”) as 預設值

,b.IS_NULLABLE as 是否允許空值

,( SELECT value

FROM fn_listextendedproperty (NULL, ‘schema’, a.Table_schema, ‘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 , b.ORDINAL_POSITION

以下是測試範例與測試結果

可以取得表格名稱、欄位名稱、資料型別、長度、是否允許空值等資料

測試結果

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *