SQL Server-能否在创建表中添加字段描述?

SQL Server-能否在创建表中添加字段描述?,sql,sql-server,create-table,field-description,Sql,Sql Server,Create Table,Field Description,我可以看到很多关于字段描述在哪里延长了属性寿命以及如何获得它的帖子,但是没有关于在创建表阶段添加这些内容的帖子 我正在动态地创建表,所以动态地添加字段描述将是一件整洁的事情,但我看不到方法 有人做到了吗?我认为CREATETABLE t-SQL语句不支持这一点。但是,如果通过SSMS定义表,则可以在创建表的同时轻松输入表级和列级注释。虽然不能在创建表中执行此操作,但可以在同一数据库脚本中使用以下命令同时执行此操作: 然后,您可以使用以下命令查看您的条目: SELECT * FROM ::

我可以看到很多关于字段描述在哪里延长了属性寿命以及如何获得它的帖子,但是没有关于在创建表阶段添加这些内容的帖子

我正在动态地创建表,所以动态地添加字段描述将是一件整洁的事情,但我看不到方法


有人做到了吗?

我认为CREATETABLE t-SQL语句不支持这一点。但是,如果通过SSMS定义表,则可以在创建表的同时轻松输入表级和列级注释。

虽然不能在
创建表中执行此操作,但可以在同一数据库脚本中使用以下命令同时执行此操作:

然后,您可以使用以下命令查看您的条目:

SELECT   *
FROM   ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default)

除上述内容外,您还可以使用SSM来完成此操作。在SSMS中,右键单击表,选择属性,然后单击“扩展属性”(在左侧窗格中)。在右边窗格中,中间有一个“属性”框,单击此处给您的描述提供一个名称,以及一些文本,如附图中所示的

SQLServer提供了一个系统存储过程,允许您在一个时间内添加描述,一个名称值对一次

示例如下:

EXEC sys.sp_addextendedproperty 
@name=N'Column 2 Description' -- Give your description a name
   , @value=N'blah blah 2 for a specific column' -- Actual description
   , @level0type=N'SCHEMA'
   , @level0name=N'dbo'
   , @level1type=N'TABLE'
   , @level1name=N'MyTestTable' -- Name of your table
GO
您必须为每个描述名称-值对重复此操作


希望这能有所帮助

嗨,谢谢你的回复,我知道我在抓救命稻草,我可以通过SSMS按照你说的做,但我正在以编程方式动态创建一个表。我在许多其他例程上建立了CREATETABLE命令,我只是想知道是否可以在此过程中插入一两条有用的注释。我有点希望有人能找到一个方法或者找到一个解决办法来做到这一点。谢谢如果您正在以编程方式动态创建一个表,为什么不也以编程方式添加注释扩展属性呢?这对我来说很有用,但我不得不将
@level0Type
属性调整为
schema
,即:
EXEC sp\u addextendedproperty'MS\u Description',Employee ID',schema',dbo',table',T1',column',身份证
EXEC sys.sp_addextendedproperty 
@name=N'Column 2 Description' -- Give your description a name
   , @value=N'blah blah 2 for a specific column' -- Actual description
   , @level0type=N'SCHEMA'
   , @level0name=N'dbo'
   , @level1type=N'TABLE'
   , @level1name=N'MyTestTable' -- Name of your table
GO