如何查找访问其他数据库中的表的视图

2020-09-26 02:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我的数据库中有视图,其中一些正在...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我的数据库中有视图,其中一些正在访问其他数据库中的表:

从otherdb..t1中选择a,b创建视图v1 

如何查找访问当前数据库中不存在的表的视图或其他编译对象?

当表和视图位于不同数据库中时,sp_depends不显示依赖关系。

我是否必须在syscomments中阅读源代码?

此致,
大谷一夫

1条回答
悻福寶寶
2020-09-26 02:57

您的主要方法是解析视图所在数据库中的 syscomments 表,但请记住, syscomments 将源代码分为255个字符, 最终结果是您的源表名称可以分为2个 syscomments 记录。

所以最好的选择是从 syscomments 重建源,然后对重构的源运行您喜欢的字符串/模式匹配方法。

重构源代码有很多选择(不在我的脑海):

  1. exec sp_helptext ,null,null,'showsql'
  2. 使用 ddlgen (操作系统级别的实用程序)对源代码进行反向工程

----------

另一个令人费解的选择想到了:

开启显示计划
 走
 从中选择*,其中1 = 2
 去

...查询计划应引用构成视图定义的表,此时,您将返回针对查询计划运行您喜欢的字符串/模式匹配方法。

一周热门 更多>