【问题标题】:find stored procedures which uses user defined functions?找到使用用户定义函数的存储过程?
【发布时间】:2013-07-25 15:20:06
【问题描述】:

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

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

【问题讨论】:

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

标签: oracle plsql oracle11g


【解决方案1】:

要获取使用您的特定函数的存储过程列表(在这种情况下为GET_SPQ_FUNCION()),您可以查询(取决于授予的权限)[all][dba][user]@ 987654325@ 查看。例如,如果函数 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 

【讨论】:

    猜你喜欢
    • 2011-06-09
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多