Oracle 追溯表被调用的源头SQL

这篇博客提供了查询Oracle数据库中哪个视图、包或存储过程使用特定表的SQL语句。通过DBA_OBJECTS和PUBLIC_DEPENDENCIES视图,可以追溯到引用指定表的所有对象,按OWNER、OBJECT_NAME和OBJECT_TYPE排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle 追溯表被调用的源头SQL

Oracle 根据表名查询调用该表的视图,包,存储过程等

哪些包或者存储过程使用该表

SELECT OWNER,
      OBJECT_TYPE,
      OBJECT_NAME,
      OBJECT_ID,
      STATUS
FROM DBA_OBJECTS DO
WHERE 1 = 1

AND OBJECT_ID IN (SELECT OBJECT_ID
                 FROM PUBLIC_DEPENDENCY PD
                    CONNECT BY PRIOR OBJECT_ID = REFERENCED_OBJECT_ID
                    START WITH REFERENCED_OBJECT_ID =
                               (SELECT OBJECT_ID
                                FROM DBA_OBJECTS
                                WHERE 1 = 1
                                AND OBJECT_TYPE = 'TABLE'
                                AND OBJECT_NAME = '表名'  -- HR_ORGANIZATION_UNITS
                                AND OWNER = 'OWNER名称'))
ORDER BY OWNER,
        OBJECT_NAME,
        OBJECT_TYPE
;

--刘轶鹤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值