SQLSERVER 扩展描述属性
drop table test
--创建表及描述信息
create table test(a1 varchar(10),a2 char(2))
--为表添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'table', N'test', NULL, NULL
--为字段a1添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'table', N'test', N'column', N'a1'
--为字段a2添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '性别', N'user', N'dbo', N'table', N'test', N'column', N'a2'
--更新表中列a1的描述属性:
EXEC sp_updateextendedproperty N'MS_Description','字段2', N'user', N'dbo', N'table', N'test', N'column', N'a1'
--删除表中列a1的描述属性:
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','test','column',a1
select * from test
select * from sys.extended_properties where major_id=OBJECT_ID('test')
添加扩展属性后,sql server studio要把数据库收起来,刷新后,再通过“对象资源管理器”,“数据库”,“具体的数据库”“表”,“具体的表”的属性(或者“具体的列”的属性)来查看才能看得到。
针对当前数据库中的每个扩展属性返回一行。
|
列名 |
数据类型 |
说明 |
|---|---|---|
|
class |
tinyint |
标识其上存在属性的项类。 可以是下列值之一: 0 = 数据库 1 = 对象或列 2 = 参数 3 = 架构 4 = 数据库主体 5 = 程序集 6 = 类型 7 = 索引 10 = XML 架构集合 15 = 消息类型 16 = 服务约定 17 = 服务 18 = 远程服务绑定 19 = 路由 20 = 数据空间(文件组或分区方案) 21 = 分区函数 22 = 数据库文件 27 = 计划指南 |
|
class_desc |
nvarchar(60) |
其上存在扩展属性的类的说明。 可以是下列值之一: DATABASE OBJECT_OR_COLUMN 参数 SCHEMA DATABASE_PRINCIPAL ASSEMBLY TYPE INDEX XML_SCHEMA_COLLECTION MESSAGE_TYPE SERVICE_CONTRACT SERVICE REMOTE_SERVICE_BINDING ROUTE DATASPACE PARTITION_FUNCTION DATABASE_FILE PLAN_GUIDE |
|
major_id |
int |
其上存在扩展属性的项的 ID,根据项类进行解释。 对于大多数项,该 ID 适用于类所表示的项。 下列是非标准主 ID 的解释: 如果 class 为 0,则 major_id 始终为 0。 如果 class 为 1、2 或 7,则 major_id 为 object_id。 |
|
minor_id |
int |
其上存在扩展属性的项的辅助 ID,根据项类进行解释。 对于大多数项,ID 为 0;否则,ID 为下列值之一: 如果 class = 1,则 minor_id 在项为列的情况下等于 column_id,在项为对象的情况下等于 0。 如果 class = 2,则 minor_id 为 parameter_id。 如果 class = 7,则 minor_id 为 index_id。 |
|
name |
sysname |
属性名,其 class、major_id 和 minor_id 是唯一的。 |
|
value |
sql_variant |
扩展属性的值。 |
浙公网安备 33010602011771号