2010-09-20 205 views
42

有谁知道如何通过运行脚本向SQL Server列添加描述?我知道您可以在使用SQL Server Management Studio创建列时添加说明。添加列描述

我该如何编写脚本,以便我的SQL脚本创建列时,还添加了列的说明?

+8

嗯,这是一个传统的数据库,列名对5到6年前写这些列的人来说是描述性的,但它们对我来说并没有什么意义。有很多业务规则与列一起出现,因此只需对该列存在的原因进行简单描述就可以了。我想我们评论我们的代码为什么我们不应该评论数据库? – EJC 2010-09-20 18:18:01

+0

Gotcha。了解。 – 2010-09-20 18:19:36

回答

47

我想说你可能会想用sp_addextendedproperty存储过程来做到这一点。

微软上有一些很好的文档,但是你也可以看看这个链接:

http://www.eggheadcafe.com/software/aspnet/32895758/how-to-set-description-property-with-alter-table-add-column.aspx

试试这个:

EXEC sp_addextendedproperty 
    @name = N'MS_Description', @value = 'Hey, here is my description!', 
    @level0type = N'Schema', @level0name = 'yourschema', 
    @level1type = N'Table', @level1name = 'YourTable', 
    @level2type = N'Column', @level2name = 'yourColumn'; 
GO 
+1

当我谈到SQL时,我有点白痴,只要我需要它就可以学到任何我需要的东西,所以当我问这个荒谬的问题时请原谅我。我如何弄清楚“yourschema”是什么? – EJC 2010-09-20 18:22:41

+2

@EJC,它很可能是“dbo” – 2010-09-20 18:25:30

+2

它可能是'dbo',这是创建表时的默认值。通常你的表名将如下所示:“{something} .tableName”。 {soemthing}是模式。 – 2010-09-20 18:25:52

6
EXEC sys.sp_addextendedproperty @name = N'MS_Description', 
@value = N'extended description', 
@level0type = N'SCHEMA', 
@level0name = N'dbo', 
@level1type = N'TABLE', 
@level1name = N'Table_1', 
@level2type = N'COLUMN', 
@level2name = N'asdf' 

创建表脚本[DBO]。 [Table_1]

18

这对我有用。相关的论点用小箭头表示。

EXEC sys.sp_addextendedproperty 
    @name=N'MS_Description' 
,@value=N'Here is my description!' --<<<< 
,@level0type=N'SCHEMA' 
,@level0name=N'dbo' 
,@level1type=N'TABLE' 
,@level1name=N'TABLE_NAME' --<<<< 
,@level2type=N'COLUMN' 
,@level2name=N'FIELD_NAME' --<<<< 
+0

此答案使用正确的'名称'值(MS_Description)使描述出现在表设计器中窗口。这并不是完全必要的,但它是方便的,并且是吸引人们关注列上扩展属性存在的好方法。 – AperioOculus 2015-05-01 14:18:32

0

在MS SQL Server Management Studio中10.0.55,最简单的方法是:

  • 显示在对象资源管理器窗口表中的列
  • 右键点击感兴趣的列并点击“修改”选项
  • 查看“列属性”窗口(在我的GUI的右下角)\
  • 查看“表设计器”子部分
  • 修改值“说明”行
  • 单击列修改窗口右上角的“X” /标签
  • 回答“Y”时,它说,将更改应用于

如果然后在对象资源管理器窗口中右键单击您的表并单击属性,然后单击“扩展属性”,您应该看到您的评论。

请注意,如果您为该表执行“脚本表另存为”命令,则上面的列“描述”仍然不会显示为该列的注释。相反,它会在创建表后显示额外的sp_addextendedproperty调用。平庸。