我被问到如何对视图进行反向工程,以便可以确定在sql查询中使用了哪些列和表来生成视图。所以说视图1是由以下10个表和43列构成的。这在sql server 2005中是否可行?
答案 0 :(得分:4)
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
。
如果要解码另一个数据库上的视图,则无法访问(例如界面) - 这是不可能的。