2011-07-05 26 views
0

SQL Server允许为表和其列存储描述等元数据。可以从sys.extended_properties中检索列的描述。还有一种方法可以设置视图的描述(使用属性窗口)。但是没有办法(或者至少我现在还没有意识到)把一个专栏的描述放在一个视图中。SQL Server元数据:如何获取视图中的列的描述

对于特定的开发,我们将描述保存在数据库本身中。这使我们能够将它保存在一个地方并进行报告。

我们希望延伸相同的观点。

有人可以帮忙吗?

回答

1

它不适用于SSMS 2005.您将得到一个例外Alter failed for Column 'ColumnName'. View columns cannot be modified or created. (Microsoft.SqlServer.Smo)

但是,您可以使用SSMS 2008将元数据添加到SQL Server 2005数据库。

+0

它适用于表格。但它是否适用于视图? – Kangkan

+0

@Kangkan - 使用SSMS 2008,它适用于表格和视图。使用SSMS 2005,它适用于表格,但不适用于视图。 –

+0

我会在尝试后更新。谢谢。 – Kangkan

0

可以有一个旁路解决方案。为每个视图创建一个表,然后从那里开始,你会做同样的事情。比方说,你有一个观点作为VIEW_TEMP,然后写:

SELECT * INTO TABLE_FOR_VIEW_TEMP FROM VIEW_TEMP 

的表将被创建,你可以用你的文档工作。

+0

文档不是最终目标。目标是并排维护文档和结构。对于这个问题,文档也可以保存在单词doc中,但是保持两个不相交是一种痛苦,你提出了类似的东西。 – Kangkan

1

当然,SQL Server支持存储和检索元数据值对columns of a view,但我不认为管理工作室支持任何像它的属性窗口。

,您可以在工作正常使用2008年SSMS使用对象资源管理器,并在视图中列的选择属性维护说明等,通过使用sp_addextendedproperty及其相关功能,例如:

EXEC sp_addextendedproperty 
@name = N'Description', 
@value = 'Postal Code lorem ipsum...', 
@level0type = N'Schema', @level0name = 'dbo', 
@level1type = N'View', @level1name = 'MyView', 
@level2type = N'Column', @level2name = 'PostCodeColumn'; 
+0

这样,对于更新所有视图的列将非常困难。我正在寻找的是一种互动的方式。 – Kangkan

相关问题