2010-10-07 85 views
0

大家好我是新来的数据库。我试图找出如何找到依赖于 另一个程序的程序。依赖于甲骨文:

下面的查询是给我PROC1的的关系是不。从其中name = 'PROC1' user_dependencies称为由 PROC1

选择REFERENCED_NAME即步骤;

下面的事情我想知道:

1)这是查询工作,即使同为功能。 ?这个查询是递归的,即PROC1调用 - > PROC2调用 - > PROC3调用 - > PROC4 即:当我调用PROC1的查询时,它给予所有依赖关系或只有一个级别依赖关系(即PROC2)。

3)如果程序包里面找到的依赖什么 应该是查询?

回答

5
  1. 没有,只示出了一个立即级依赖

  2. user_dependencies的仅示出了在封装级的依赖关系,而不是为包中的过程和功能。

PL/Scope(在11g中引入),可以在一个封装内的过程/函数级别找到用途,但是如果当代码被编译的启用它才会起作用。

+0

一般:这是可能的是在包2的PROC2来调用包1的PROC1?有问题的查询甚至可以识别触发器。 ? – vrbilgi 2010-10-07 06:28:21

+0

@ user430294:是,只要PROC1在包首部中声明;否则它是私有的,只能在Package1的主体中使用。而Package2的拥有者对Package1拥有执行权限。 – 2010-10-07 06:34:52

+0

@ user430294:是的,'user_dependencies'包含触发器中的引用。 – 2010-10-08 05:20:45