找到使用用户定义函数的存储过程?

时间:2013-07-25 06:46:13

标签: oracle plsql oracle11g

我有一个用户定义的函数名称 GET_SPQ_FUNCION

在许多存储过程中使用。现在我需要从函数中删除Input参数。它会影响很多SP。 有没有办法可以使用SQL查询列出这些SP。

1 个答案:

答案 0 :(得分:3)

要获取使用特定功能的存储过程列表(在本例中为GET_SPQ_FUNCION()),您可以查询(取决于授予的权限)[all] [dba] [user] _dependencies查看。例如,如果函数GET_SPQ_FUNCION()GET_SPQ_FUNCION1()函数使用,然后针对上述某个视图发出类似的查询,您将得到以下输出:

SQL> select name as usedby
  2       , type
  3       , referenced_name
  4       , dependency_type
  5    from dba_dependencies
  6    where referenced_name = 'GET_SPQ_FUNCION'
  7  ;

Usedby            Type      Referenced Name   Dependency Type 
-------------------------------------------------------------
GET_SPQ_FUNCION1  FUNCTION  GET_SPQ_FUNCION   HARD