数据库扩展属性应用
简介:
SQL Server 2000提供了三个系统存储过程和一个函数用于操作扩展属性。它们分别是:
sp_addextendedproperty(将新扩展属性添加到数据库对象中。)
sp_updateextendedproperty(更新现有扩展属性的值。)
sp_dropextendedproperty(除去现有的扩展属性。)
fn_listextendedproperty(列出扩展属性)
一、fn_listextendedproperty的使用:
语法:
fn_listextendedproperty (
{ default | 'property_name' | NULL }
, { default | 'level0_object_type' | NULL }
, { default | 'level0_object_name' | NULL }
, { default | 'level1_object_type' | NULL }
, { default | 'level1_object_name' | NULL }
, { default | 'level2_object_type' | NULL }
, { default | 'level2_object_name' | NULL }
)
具体详见:https://technet.microsoft.com/zh-cn/library/ms179853.aspx
1、数据库的扩展属性:
返回数据库MEADB的扩展属性–>
USE MEADB;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(default, default, default, default, default, default, default);
GO
2、数据库中所有表的扩展属性
返回数据库MEADB中所有表的扩展属性
USE MEADB;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', default, NULL, NULL);
GO
3、指定表的所有列扩展属性:
返回数据库MEADB的表SYS_User中所有列的扩展属性。
use MEADB;
GO
SELECT objtype, objname, name, value
FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', 'SYS_User', 'column', default);
GO
4、数据库中所有表的所有列的扩展属性:
GO
SELECT major_id, minor_id, t.name AS [Table Name], c.name AS [Column Name], value AS [Extended Property]
FROM sys.extended_properties AS ep
INNER JOIN sys.tables AS t ON ep.major_id = t.object_id
INNER JOIN sys.columns AS c ON ep.major_id = c.object_id AND ep.minor_id = c.column_id
WHERE class = 1;
GO
二、sp_addextendedproperty的应用
1、列设置扩展属性
给表SYS_User的RowGuid列设置扩展属性:名称为:MS_Description,值为:这是测试列
execute sp_addextendedproperty N'MS_Description',N'这是测试列',N'SCHEMA',N'dbo',N'table',N'SYS_User2',N'column',N'RowGuid'
2、给表设置扩展属性
execute sp_addextendedproperty N'MS_Description',N'这是测试表',N'SCHEMA',N'dbo',N'table',N'SYS_User2',null,null
3、给数据库设置扩展属性
三、更新
–更新表中列a1的描述属性:
EXEC sp_updateextendedproperty 'MS_Description','字段1','user',dbo,'table','表','column',a1
四、删除
–删除表中列a1的描述属性:
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','表','column',a1
五、