有谁知道如何通过运行脚本向 SQL Server 列添加描述?我知道您可以在使用 SQL Server Management Studio 创建列时添加描述。
如何编写此脚本,以便当我的 SQL 脚本创建列时,还会添加该列的描述?
我想说你可能想使用 sp_addextendedproperty 存储过程来做到这一点。
微软有一些很好的文档。
试试这个:
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
这对我有用。相关论点用小箭头表示。
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' --<<<<
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] 上创建脚本
在 MS SQL Server Management Studio 10.0.55 中,最简单的方法是:
如果您在对象资源管理器窗口中右键单击表格并单击属性,然后单击“扩展属性”,您应该会看到您的评论。
注意,如果您对表执行“将表脚本为”命令,上面的“描述”列仍然不会显示为该列的注释。相反,它在表创建后显示额外的 sp_addextendedproperty 调用。平庸。
SSMS 2016(并解释 SQL 的所有版本)
EXEC sys.sp_addextendedproperty
@name=N'MS_Description', @value=N'this is description yooo',
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'TABLE',@level1name=N'yourtablenamehereee',
@level2type=N'COLUMN',@level2name=N'yourcolumnnamehereee'
通过 Ben Slade 的答案发现,这将帮助任何人解决任何版本的 SSMS 或任何 SQL 编辑器的问题。