加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 15:13:46 所属栏目:百科 来源:网络整理
导读:是否可以跨Oracle中的多个模式搜索所有程序对象(函数,存储过程,触发器等)? 在我的代码中有许多表似乎未使用,但我不希望在不先检查的情况下删除它们. 可以搜索目标代码 – 您通常使用DBMS_METADATA包为对象生成DDL,然后搜索CLOB.然而,这听起来并不像你想要做
是否可以跨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时,表名是硬编码的.但这在实践中相对不太可能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读