Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 查找使用用户定义函数的存储过程?_Oracle_Plsql_Oracle11g - Fatal编程技术网

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

Oracle 查找使用用户定义函数的存储过程?,oracle,plsql,oracle11g,Oracle,Plsql,Oracle11g,我有一个用户定义的函数名 获取SPQ函数 这在许多存储过程中使用。现在我需要从函数中删除输入参数。它将影响许多SP。 是否有任何方法可以使用sql查询列出这些SP。要获得使用特定函数的存储过程列表(get\u SPQ\u function()),您可以查询(取决于授予的权限)[all][dba][user]查看。例如,如果函数GET\u SPQ\u function()由函数GET\u SPQ\u function1()使用,则对上述一个视图发出类似的查询,您将获得以下输出: SQL> s

我有一个用户定义的函数名 获取SPQ函数

这在许多存储过程中使用。现在我需要从函数中删除输入参数。它将影响许多SP。
是否有任何方法可以使用sql查询列出这些SP。

要获得使用特定函数的存储过程列表(
get\u SPQ\u function()
),您可以查询(取决于授予的权限)[
all
][
dba
][
user
]
查看。例如,如果函数
GET\u SPQ\u function()
由函数
GET\u SPQ\u function1()
使用,则对上述一个视图发出类似的查询,您将获得以下输出:

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 

如果您使用SQLDeveloper(可能还有其他工具),您可以在源代码中搜索。这还不够吗?@Polppan:是的,我用蟾蜍。我需要搜索每个代码。我只是好奇我是否能用SQL列出。如果不是的话,我必须搜索individually@Mani如果您使用TOAD,在模式浏览器中,对于每个表、函数或过程,右侧有一个名为UsedBy的选项卡,它将提供正在使用的所有其他对象的信息。双击任何一个对象都将打开弹出窗口。这对于找出用户正在使用的其他对象非常有用。希望这将是有用的。