今天同事接到一個需求,客戶強烈要求在DB裡的所有欄位都有說明,雖然我們有提供Schema說明文件,不過既然是客戶要求,那就只好照做了。
找了一下,發現有個系統提供的sp可以做到這點 sp_addextendedproperty (Transact-SQL) 說明看起來有點複雜,但是看懂後就還好,原本的語法是這樣的
實際上使用的話,如果要在某個欄位上加上說明,只要像下面這樣寫就可以了
如果只要在Table上加Description,level2那邊參數別給就好。
其實這個sp_addextendedproperty指令是用來新增擴展屬性的,所以要增加的屬性名稱可以自己修改,如果該表格/欄位已經有了同名的屬性,那就需要用sp_updateextendedproperty這個指令來做修改。
收工。
找了一下,發現有個系統提供的sp可以做到這點 sp_addextendedproperty (Transact-SQL) 說明看起來有點複雜,但是看懂後就還好,原本的語法是這樣的
sp_addextendedproperty [ @name = ] { 'property_name' } [ , [ @value = ] { 'value' } [ , [ @level0type = ] { 'level0_object_type' } , [ @level0name = ] { 'level0_object_name' } [ , [ @level1type = ] { 'level1_object_type' } , [ @level1name = ] { 'level1_object_name' } [ , [ @level2type = ] { 'level2_object_type' } , [ @level2name = ] { 'level2_object_name' } ] ] ] ] [;]
實際上使用的話,如果要在某個欄位上加上說明,只要像下面這樣寫就可以了
use YOUR_DBNAME; GO EXEC sp_addextendedproperty @name = N'Description', @value = N'你的說明', @level0type = N'Schema', @level0name = dbo, @level1type = N'Table', @level1name = TABLE_NAME, @level2type = N'Column', @level2name = COLUMN_NAME; GOYOUR_DBNAME, TABLE_NAME, COLUMN_NAME 請自行修改
如果只要在Table上加Description,level2那邊參數別給就好。
其實這個sp_addextendedproperty指令是用來新增擴展屬性的,所以要增加的屬性名稱可以自己修改,如果該表格/欄位已經有了同名的屬性,那就需要用sp_updateextendedproperty這個指令來做修改。
收工。
No comments:
Post a Comment