新聞中心
下面將為您介紹在SQL SERVER數(shù)據(jù)庫中如何使用SQL語句給表的欄位加注釋,該方法供您參考,希望對您能夠有所啟迪。

關(guān)于注釋這個(gè)問題,之前沒用SQL語句去添加過,都是在Enterprise Manager里面添加的。查了一下資料,得知Microsoft在SQL Server? 2000中引入了擴(kuò)展屬性,用戶可在各種數(shù)據(jù)庫對象上定義這些屬性。這些擴(kuò)展屬性可用于存儲與數(shù)據(jù)庫對象有關(guān)的應(yīng)用程序或站點(diǎn)特有的信息。 可以用
sp_addextendedproperty將新擴(kuò)展屬性添加到數(shù)據(jù)庫對象中。如果屬性已經(jīng)存在,則過程失敗。 用法如下:
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' }
]
]
]
]
參數(shù)
[ @name = ] { 'property_name' } 要添加的屬性名稱。property_name 的數(shù)據(jù)類型為 sysname,它不能是 NULL。名稱可能還包括空白或非字母數(shù)字字符串和二進(jìn)制值。
注:property_name='MS_Description'時(shí),為添加注釋
[ @value = ] { 'value' } 將要與屬性相關(guān)聯(lián)的值。value 的數(shù)據(jù)類型為 sql_variant,帶有默認(rèn)設(shè)置 NULL。value 的大小不能超過 7,500 字節(jié);否則 SQL Server 會產(chǎn)生錯(cuò)誤。
[ @level0type = ] { 'level0_object_type' } 用戶或用戶定義類型。level0_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入是 USER、TYPE 和 NULL。
[ @level0name = ] { 'level0_object_name' } 指定的 0 級對象類型的名稱。level0_object_name 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。
[ @level1type = ] { 'level1_object_type' } 1 級對象的類型。level1_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入是 TABLE、VIEW、PROCEDURE、FUNCTION、DEFAULT、RULE 和 NULL。
[ @level1name = ] { 'level1_object_name' } 指定的 1 級對象類型的名稱。level1_object_name 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。
[ @level2type = ] { 'level2_object_type' } 2 級對象的類型。level2_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入是 COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER 和 NULL。
[ @level2name = ] { 'level2_object_name' } 指定的 2 級對象類型的名稱。level2_object_name 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。
返回代碼值
0(成功)或 1(失?。?p#
注釋
1.系統(tǒng)對象不允許有擴(kuò)展屬性。 2.對象是按級別區(qū)分的,0 級為***,2 級為***。當(dāng)用戶添加、更新或刪除擴(kuò)展屬性時(shí),必須指定所有更高級別的對象。例如,如果用戶要向 1 級對象添加擴(kuò)展屬性,就必須指定所有 0 級信息。如果用戶要向 2 級對象添加擴(kuò)展屬性,則必須提供關(guān)于 0 級和 1 級的所有信息。 3.在每個(gè)級別上,對象類型和對象名可唯一地標(biāo)識對象。如果指定了一個(gè)對中的任一方,則必須指定另一方。 4.給定了有效 property_name 和 value,如果沒有任何對象類型和名稱,則屬性屬于當(dāng)前數(shù)據(jù)庫。如果指定對象類型和名稱,則還必須指定父對象和類型。否則,SQL Server 會產(chǎn)生錯(cuò)誤。
權(quán)限
db_owner 和 db_ddladmin 固定數(shù)據(jù)庫角色的成員可以將擴(kuò)展屬性添加到任何對象中。用戶可以為他們所擁有的對象添加擴(kuò)展屬性。然而,只有 db_owner 可以將屬性添加到用戶名稱中。
示例
下面的示例給表"T1"的"ID"列添加注釋:
CREATE table T1 (id int , name char (20)) GO EXEC sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', T1, 'column', id EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'oooo' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'OperaInfo', @level2type=N'COLUMN',@level2name=N'operaid'
另外 sp_updateextendedproperty:更新現(xiàn)有擴(kuò)展屬性的值。 sp_dropextendedproperty:除去現(xiàn)有的擴(kuò)展屬性。 FN_LISTEXTENDEDPROPERTY:檢索現(xiàn)有擴(kuò)展屬性的值
在Oracle中可用COMMENT語句給欄位加注釋,如下: COMMENT ON COLUMN employees.job_id
IS 'abbreviated job title'; 刪除注釋: COMMENT ON COLUMN employees.job_id IS ' '; 更詳細(xì)的語法參考Oracle文檔 【編輯推薦】 SQL中INSERT語句的使用技巧 SQL語句中output的用法 詳解SQL中的GROUP BY語句 sqlplus執(zhí)行存儲過程和sql語句的寫法 SQL Server日期計(jì)算語句
本文標(biāo)題:使用SQL語句給表的欄位添加注釋
網(wǎng)頁路徑:http://fisionsoft.com.cn/article/cooeojd.html


咨詢
建站咨詢
