oracle如何查看哪个表被存储过程使用

有时我们在修改表结构或者其他原因需要查看某个表有被哪些存储过程使用,如果一个一个去找,会相当麻烦,很费时间,而且可能不全。有了这个sql语句,就可以快速准确的找出所有的存储过程,非常方便。

查看表被哪个存储过程使用

select * from user_dependencies where referenced_name = 'TAB' --表名

或:

SELECT DISTINCT NAME FROM user_source
       WHERE TYPE = 'PROCEDURE'
             AND upper(text) LIKE '%TABLE%';

这个sql是不是很方便呢?大家注意的是:这个只适用于Oracle,MySQL不适用。