利用sql語句新增字段注釋

2022-01-17 13:09:07 字數 2997 閱讀 9137

sql server中如何用sql語句給表的字段加注釋

關於注釋這個問題,之前沒用sql語句去新增過,都是在enterprise manager裡面新增的:(

查了一下資料,得知microsoft在sql server™ 2000中引入了擴充套件屬性,使用者可在各種資料庫物件上定義這些屬性。這些擴充套件屬性可用於儲存與資料庫物件有關的應用程式或站點特有的資訊。

可以用sp_addextendedproperty將新擴充套件屬性新增到資料庫物件中。如果屬性已經存在,則過程失敗。

用法如下:

sp_addextendedproperty

[ @name = ]

[ , [ @value = ]

[ , [ @level0type = ]

, [ @level0name = ]

[ , [ @level1type = ]

, [ @level1name = ]

[ , [ @level2type = ]

, [ @level2name = ]

] ]

] ]

引數

[ @name = ]

要新增的屬性名稱。property_name 的資料型別為 sysname,它不能是 null。名稱可能還包括空白或非字母數字字串和二進位制值。

注:property_name='ms_description'時,為新增注釋

[ @value = ]

將要與屬性相關聯的值。value 的資料型別為 sql_variant,帶有預設設定 null。value 的大小不能超過 7,500 位元組;否則 sql server 會產生錯誤。

[ @level0type = ]

使用者或使用者定義型別。level0_object_type 的資料型別為 varchar(128),其預設值為 null。有效的輸入是 user、type 和 null。

[ @level0name = ]

指定的 0 級物件型別的名稱。level0_object_name 的資料型別為 sysname,其預設值為 null。

[ @level1type = ]

1 級物件的型別。level1_object_type 的資料型別為 varchar(128),其預設值為 null。有效的輸入是 table、view、procedure、function、default、rule 和 null。

[ @level1name = ]

指定的 1 級物件型別的名稱。level1_object_name 的資料型別為 sysname,其預設值為 null。

[ @level2type = ]

2 級物件的型別。level2_object_type 的資料型別為 varchar(128),其預設值為 null。有效的輸入是 column、parameter、index、constraint、trigger 和 null。

[ @level2name = ]

指定的 2 級物件型別的名稱。level2_object_name 的資料型別為 sysname,其預設值為 null。

返回**值

0(成功)或 1(失敗)

注釋

1.系統物件不允許有擴充套件屬性。

2.物件是按級別區分的,0 級為最高,2 級為最低。當使用者新增、更新或刪除擴充套件屬性時,必須指定所有更高階別的物件。例如,如果使用者要向 1 級物件新增擴充套件屬性,就必須指定所有 0 級資訊。如果使用者要向 2 級物件新增擴充套件屬性,則必須提供關於 0 級和 1 級的所有資訊。

3.在每個級別上,物件型別和物件名可唯一地標識物件。如果指定了乙個對中的任一方,則必須指定另一方。

4.給定了有效 property_name 和 value,如果沒有任何物件型別和名稱,則屬性屬於當前資料庫。如果指定物件型別和名稱,則還必須指定父物件和型別。否則,sql server 會產生錯誤。

許可權

db_owner 和 db_ddladmin 固定資料庫角色的成員可以將擴充套件屬性新增到任何物件中。使用者可以為他們所擁有的物件新增擴充套件屬性。然而,只有 db_owner 可以將屬性新增到使用者名稱中。

示例

下面的示例給表"t1"的"id"列新增注釋:

create table t1 (id int , name char (20))

goexec 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:更新現有擴充套件屬性的值。

sp_dropextendedproperty:除去現有的擴充套件屬性。

fn_listextendedproperty:檢索現有擴充套件屬性的值

在oracle中可用comment語句給字段加注釋,如下:

comment on column employees.job_id

is 'abbreviated job title';

刪除注釋:

comment on column employees.job_id is ' ';

更詳細的語法參考oracle文件

SQL語句新增刪除修改字段

1.查詢字段預設值約束的名字 t1為表名,id為欄位名 select a.name as 使用者表,b.name as 欄位名,d.name as 字段預設值約束 from sysobjects a,syscolumns b,syscomments c,sysobjects d where a.id...

分析sql欄位 利用SQL語句解決計算欄位的侷限性

說起來,其實我們什麼都不缺,我們缺少的,是足夠多的努力。資料透視表的計算字段,不是按照值字段在資料透視表中,所顯示的數值進行計算的,而是依據各個數值之和來計算的。資料透視表使用各個值欄位分類求和的結果來應用計算字段,即使數值字段的彙總方式被設定為 平均值 計算欄位也會將其看作是 求和 比如 求和項 ...

sql server 新增表注釋 字段注釋

為字段新增注釋 格式如右 execute sp addextendedproperty ms description 字段備註資訊 user dbo table 字段所屬的表名 column 新增注釋的欄位名 execute sp addextendedproperty ms description...