Oracle:搜索所有存储的proc / triggers /其他db代码?

前端之家收集整理的这篇文章主要介绍了Oracle:搜索所有存储的proc / triggers /其他db代码?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以跨Oracle中的多个模式搜索所有程序对象(函数,存储过程,触发器等)?

在我的代码中有许多表似乎未使用,但我不希望在不先检查的情况下删除它们.

可以搜索目标代码 – 您通常使用DBMS_MetaDATA包为对象生成DDL,然后搜索CLOB.然而,这听起来并不像你想要做的那样.

如果您只是想弄清楚系统中的任何代码是否引用了表,您通常需要使用DBA_DEPENDENCIES视图(或ALL_DEPENDENCIES或USER_DEPENDENCIES,具体取决于您的权限和您要查找的范围).就像是

SELECT *
  FROM dba_dependencies
 WHERE referenced_owner = 'SCOTT'
   AND referenced_name  = 'EMP'
   AND referenced_type  = 'TABLE'

将向您展示依赖于SCOTT模式中的EMP表的所有内容.

你想要搜索代码而不是查看DBA_DEPENDENCIES的唯一一次就是当你的代码执行动态sql时,表名是硬编码的.但这在实践中相对不太可能.

猜你在找的Oracle相关文章