逆向工程视图

时间:2013-11-25 21:08:59

标签: sql sql-server

我被问到如何对视图进行反向工程,以便可以确定在sql查询中使用了哪些列和表来生成视图。所以说视图1是由以下10个表和43列构成的。这在sql server 2005中是否可行?

2 个答案:

答案 0 :(得分:4)

使用sp_helptext

exec sp_helptext 'your_view'

修改

您想要的是找出您的视图具有哪些依赖项。您可以使用sp_depends来执行此操作,但它只能获取表依赖项而不是列。

exec sp_depends 'your_view'

为了找出列,您可能需要编写某种SQL解析器来从使用sp_helptext恢复的Create View语句中提取正在使用的列。

您可以尝试使用ReGex来提取您想要的信息,或者如果您想要一个大而且更高级的枪,您可以尝试使用内置Sql Lexic的Irony

答案 1 :(得分:1)

是的,在SSMS中选择您的database - > views - >右键单击 - > script as CREATE

如果要解码另一个数据库上的视图,则无法访问(例如界面) - 这是不可能的。