SQL Server給字段添加註釋的兩種方式:1.可視化設計器中,2.sp_addextendedproperty系統存儲過程

1.在可視化設計器中爲表字段添加註釋

2.利用系統存儲過程sp_addextendedproperty

sp_addextendedproperty的語法:

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' } 
                        ] 
                ]
        ] 
    ] 


該存儲過程一共有8個參數,估計初學者一看就暈了,不要着急,我們可以通過實例來理解,下面我們先利用sp_addextendedproperty爲 S#列 加上說明:



EXEC sys.sp_addextendedproperty 
         @name=N'MS_Description', @value=N'學生編號' , 
         @level0type=N'SCHEMA',@level0name=N'dbo', 
         @level1type=N'TABLE',@level1name=N'Student', 
         @level2type=N'COLUMN',@level2name=N'S#'
GO


上面就是爲列S#加上說明的SQL命令,來理解一下:
雖然sp_addextendedproperty有8個參數,但我們可以把這個8個參數理解爲4對,其實看參數名我們也可以猜出大概了:
@name與@value爲一對
@level0type與@level0name爲一對
@level1type與@level1name爲一對
@level2type與@level2name爲一對

那麼這4對參數分別代表什麼呢?
1,@name與@value
@name:指定我們是要爲列添加什麼信息,比如我們要爲列添加擴展信息,那麼@name就等於'Caption',本篇是要爲列添加說明信息,所以@name等於'MS_Description'
@value:指定與@name關聯的值,本篇也就是列的具體說明。

2,@level0type與@level0name
@level0type:指定我們要修改的列的表所於那個數據庫架構,所以它等於'SCHEMA',有些網上教程中會說它也可以等於'user',但在sql server的未來版本中,將刪除'user',所以推薦大家用'SCHEMA'
@level0name:指定我們要修改的表所在架構的名稱

3,@level1type與@level1name
@level1type:指明我們要修改的列所屬對象是表,還是視圖等。本篇是修改表中的列,所以爲'table',
@@level1name: 指明要修改的列所屬表的名稱

4,@level2type與@level2name
@level2type:指明我們要修改的對象是列,還是主鍵,還是約束等。本篇修改的是列,所以爲'column'
@level2name:指明要修改列的列名

到此,我們應該瞭解sp_addextendedproperty中各參數的意思了。

爲多個列添加註釋需要多行SQL:


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章