create
table
表(a1
varchar(10),a2
char(2))
--为表添加描述信息
EXECUTE
sp_addextendedproperty
N'MS_Description',
'人员信息表',
N'user',
N'dbo',
N'table',
N'表',
NULL,
NULL
--为字段a1添加描述信息
EXECUTE
sp_addextendedproperty
N'MS_Description',
'姓名',
N'user',
N'dbo',
N'table',
N'表',
N'column',
N'a1'
--为字段a2添加描述信息
EXECUTE
sp_addextendedproperty
N'MS_Description',
'性别',
N'user',
N'dbo',
N'table',
N'表',
N'column',
N'a2'
--更新表中列a1的描述属性:
EXEC
sp_updateextendedproperty
'MS_Description','字段1','user',dbo,'table','表','column',a1
--删除表中列a1的描述属性:
EXEC
sp_dropextendedproperty
'MS_Description','user',dbo,'table','表','column',a1
--删除测试
drop
table
表
语法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' }
]
]
]
]
参数
[ @name = ] { 'property_name' }
要添加的属性名称。property_name 的数据类型为 sysname,它不能是 NULL。名称可能还包括空白或非字母数字字符串和二进制值。
[ @value = ] { 'value' }
将要与属性相关联的值。value 的数据类型为 sql_variant,带有默认设置 NULL。value 的大小不能超过 7,500 字节;否则 SQL Server 会产生错误。
[ @level0type = ] { 'level0_object_type' }
用户或用户定义类型。level0_object_type 的数据类型为 varchar(128),其默认值为 NULL。有效的输入是 USER、TYPE 和 NULL。
[ @level0name = ] { 'level0_object_name' }
指定的 0 级对象类型的名称。level0_object_name 的数据类型为 sysname,其默认值为 NULL。
[ @level1type = ] { 'level1_object_type' }
1 级对象的类型。level1_object_type 的数据类型为 varchar(128),其默认值为 NULL。有效的输入是 TABLE、VIEW、PROCEDURE、FUNCTION、DEFAULT、RULE 和 NULL。
[ @level1name = ] { 'level1_object_name' }
指定的 1 级对象类型的名称。level1_object_name 的数据类型为 sysname,其默认值为 NULL。
[ @level2type = ] { 'level2_object_type' }
2 级对象的类型。level2_object_type 的数据类型为 varchar(128),其默认值为 NULL。有效的输入是 COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER 和 NULL。
[ @level2name = ] { 'level2_object_name' }
指定的 2 级对象类型的名称。level2_object_name 的数据类型为 sysname,其默认值为 NULL。
返回代码值
0(成功)或 1(失败)
注释
系统对象不允许有扩展属性。
对象是按级别区分的,0 级为最高,2 级为最低。当用户添加、更新或删除扩展属性时,必须指定所有更高级别的对象。例如,如果用户要向 1 级对象添加扩展属性,就必须指定所有 0 级信息。如果用户要向 2 级对象添加扩展属性,则必须提供关于 0 级和 1 级的所有信息。
在每个级别上,对象类型和对象名可唯一地标识对象。如果指定了一个对中的任一方,则必须指定另一方。
给定了有效 property_name 和 value,如果没有任何对象类型和名称,则属性属于当前数据库。如果指定对象类型和名称,则还必须指定父对象和类型。否则,SQL Server 会产生错误。
权限
db_owner 和 db_ddladmin 固定数据库角色的成员可以将扩展属性添加到任何对象中。用户可以为他们所拥有的对象添加扩展属性。然而,只有 db_owner 可以将属性添加到用户名称中。
示例
下面的示例将属性 ('caption,' 'Employee ID') 添加到表"T1"的"ID"列中。
CREATE table T1 (id int , name char (20))
GO
EXEC sp_addextendedproperty 'caption', 'Employee ID', 'user', dbo, 'table', T1, 'column', id
//增加描述: DECLARE @v sql_variant SET @v = N'名称'EXECUTE sp_addextendedproperty N'MS_Description', @v, N'user', N'dbo', N'table', N'BBSBoard', N'column', N'BBSBoardName'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)