是否可以在 Microsoft SQL 2000 及更高版本的表中添加类似“元数据”的描述或注释?
您将如何通过 CREATE TABLE 语句执行此操作?
是否可以在字段中添加描述或评论?
您如何在 MSSQL 2000 中查询此信息?2005 年?
是否可以在 Microsoft SQL 2000 及更高版本的表中添加类似“元数据”的描述或注释?
您将如何通过 CREATE TABLE 语句执行此操作?
是否可以在字段中添加描述或评论?
您如何在 MSSQL 2000 中查询此信息?2005 年?
使用扩展属性。例如,要将扩展属性添加到 dbo 模式中的表,您可以使用:
EXEC sys.sp_addextendedproperty @name=N'<NameOfProp>',
@value=N'<Value>' , @level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'TABLE',@level1name=N'<Table>'
您可以更新它们:
EXEC sys.sp_updateextendedproperty
@name=N'MS_Description', @value=N'My Description' ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'TABLE'
,@level1name=N'<YOUR TABLE NAME>'
你可以像这样阅读它们:
SELECT *
FROM fn_listextendedproperty (NULL, 'schema','dbo', 'table', '<yourtable>', default, default);
或者
SELECT
p.name AS [Name],p.value
FROM
sys.tables AS tbl
INNER JOIN sys.extended_properties AS p ON p.major_id=tbl.object_id AND p.minor_id=0 AND p.class=1
WHERE
(tbl.name=N'<yourtablename>' and SCHEMA_NAME(tbl.schema_id)=N'dbo')
ORDER BY
[Name] ASC
您当然可以使用上面提到的 SP 来执行此操作,但是,有一种更简单的方法可以执行此操作,我相信 MGT Studio 应该是您进行这些更改的首选,除非您尝试使用脚本自动化操作。这是如何做到的:
1-右键单击表格
2-点击设计
3- 评论如上图
只是为了让你有一个完整的答案,这里有一个更简单的脚本来改变它(与上面的答案相比更简单):
DECLARE @v sql_variant
SET @v = N'Comment here'
EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'Stack_testing', N'COLUMN', N'testinghere'
大多数工具和人们使用扩展属性来支持这一点。SSMS 使用的通用名称是 MS_Description
有几个内置的存储过程用于创建和读取这些属性,它们会随着时间的推移而改变,因此 SQL 版本之间会有兼容性差异。
不幸的是,这种方法不适用于高负载的生产环境。操作扩展属性的存储过程在目标表上设置排他锁。当它们被执行时,整个表是不可读的。