增加字段说明MS_Description

发布时间 2023-05-09 14:29:13作者: lucken

--增加字段说明

IF not exists
(SELECT * FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'strTableName', 'column', ''strColumnName''))
BEGIN
exec sp_addextendedproperty
'MS_Description', 'strColumnDesc ', 'user', 'dbo', 'table','strTableName', 'column', 'strColumnName'
END
ELSE

BEGIN
exec sp_updateextendedproperty 'MS_Description', 'strColumnDesc ', 'user', 'dbo', 'table','strTableName', 'column', 'strColumnName'
END

--查询字段说明

select a.id,a.name,b.value
from syscolumns a left outer join sys.extended_properties b
on a.id=b.major_id and a.colid=b.minor_id

--查询字段类型

SELECT syscolumns.id,syscolumns.name,systypes.name,syscolumns.isnullable,
syscolumns.length
FROM syscolumns, systypes
WHERE syscolumns.xusertype = systypes.xusertype

--

--字段添加说明
EXEC sp_addextendedproperty 'MS_Description', '要添加的说明', 'user', dbo, 'table', 表名, 'column', 列名
--删除字段说明
EXEC sp_dropextendedproperty 'MS_Description', 'user', dbo, 'table', 表名, 'column', 字段名

--示例

--创建表

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 表