Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 是否可以在Microsoft SQL 2000中向表中添加说明/注释+_Sql Server_Metadata - Fatal编程技术网

Sql server 是否可以在Microsoft SQL 2000中向表中添加说明/注释+

Sql server 是否可以在Microsoft SQL 2000中向表中添加说明/注释+,sql-server,metadata,Sql Server,Metadata,在Microsoft SQL 2000及更高版本中,是否可以向表中添加元数据(如说明或注释) 如何通过CREATETABLE语句实现这一点 是否可以向字段添加说明或注释 如何在MSSQL 2000中查询此信息?2005?大多数工具和人员使用扩展属性来支持此功能。SSMS使用的通用名称是MS_Description 有几个内置的存储过程用于创建和读取这些属性,它们的过程会随着时间的推移而改变,因此SQL版本之间会存在兼容性差异。使用扩展属性。例如,要向dbo架构中的表添加扩展属性,可以使用: EX

在Microsoft SQL 2000及更高版本中,是否可以向表中添加元数据(如说明或注释)

如何通过CREATETABLE语句实现这一点

是否可以向字段添加说明或注释


如何在MSSQL 2000中查询此信息?2005?

大多数工具和人员使用扩展属性来支持此功能。SSMS使用的通用名称是MS_Description


有几个内置的存储过程用于创建和读取这些属性,它们的过程会随着时间的推移而改变,因此SQL版本之间会存在兼容性差异。

使用扩展属性。例如,要向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);


您当然可以使用上面提到的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'

不幸的是,这种方法不适用于高负载的生产环境。操作扩展属性的存储过程在目标表上设置独占锁。当它们被执行时,整个表是不可读的。

是的,但你最好不要看这些东西,而是使用一个可以让你读写评论的应用程序。您还可以通过Sql Mgmt Studio添加它们。您最好将表的描述写在纸质笔记本上,而不是在每次怀疑表的用途时依靠纯粹的内存来回忆复杂的查询。或者仅仅依靠SSMS的对象浏览器。@alejandrob我个人100%同意……尽管我不确定用户界面是如何按照opp最初的要求在SQL 2000中构建的。。。。
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'