23

我可以看到很多关于字段描述扩展属性的位置以及如何获取它的帖子,但没有关于在 CREATE TABLE 阶段添加这些内容的帖子。

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

有没有人设法做到这一点?

4

4 回答 4

35

虽然您不能在 中执行此操作CREATE TABLE,但您可以在同一数据库脚本中使用以下方法同时执行此操作:

CREATE table T1 (id int , name char (20))

EXEC   sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id

EXEC   sp_addextendedproperty 'MS_Description', 'Employee Name', 'user', dbo, 'table', 'T1', 'column', name

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

SELECT   *
FROM   ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default)
于 2009-12-31T13:37:56.803 回答
4

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

于 2009-12-31T12:59:11.710 回答
4

SQL Server 提供了一个系统存储过程,允许您添加描述,一次一个名称-值对

示例如下:

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

您必须为每个描述名称-值对重复

希望这可以帮助

于 2018-04-26T05:32:41.280 回答
3

除了以上这些,你还可以使用 SSMS 来做。在 SSMS 中,右键单击表,选择属性,然后单击“扩展属性”(在左侧窗格中)。在右侧窗格的中间,有一个“属性”框,单击此处为您的描述命名,以及一些文字,如附图所示使用 SSMS 向表中添加描述性文本的屏幕截图

于 2018-03-21T00:58:48.607 回答