Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.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
Sql 缺少对标识符的调用\u全部使用PL/SCOPE_Sql_Stored Procedures_Plsql_Oracle Sqldeveloper - Fatal编程技术网

Sql 缺少对标识符的调用\u全部使用PL/SCOPE

Sql 缺少对标识符的调用\u全部使用PL/SCOPE,sql,stored-procedures,plsql,oracle-sqldeveloper,Sql,Stored Procedures,Plsql,Oracle Sqldeveloper,我试图使用PL/SCOPE中的view all_标识符来查找对过程和函数的调用,但它没有显示所有调用,有些调用丢失了 我在第4216行的包(PKG_1)中有以下代码: tmpParameterId:=PKG_2.function1(var1,var2,var3); 当我运行查询时: 从所有_标识符中选择*,其中上限(对象_名称)='PKG_1'和行='4216'; 我得到以下结果(所有者|名称|类型|对象|名称|对象|类型|用法|行): 我没有得到function1的调用用法。 我在包的其他

我试图使用PL/SCOPE中的view all_标识符来查找对过程和函数的调用,但它没有显示所有调用,有些调用丢失了

我在第4216行的包(PKG_1)中有以下代码:

tmpParameterId:=PKG_2.function1(var1,var2,var3);
当我运行查询时:

从所有_标识符中选择*,其中上限(对象_名称)='PKG_1'和行='4216';
我得到以下结果(所有者|名称|类型|对象|名称|对象|类型|用法|行):

我没有得到function1的调用用法。 我在包的其他部分有类似的代码,它显示了这些调用。
在这里我真的迷路了,因为我不知道为什么有些调用被存储在所有的标识符中,而有些没有。

您是否用PLSCOPE\u SETTINGS='identifiers:all'重新编译了名为PKG_2的包

PL/Scope只报告对它确实知道的对象的调用

如果function1是在编译PKG_2之后创建的,PL/scope将不会报告它在PKG_1中的使用情况


这可能是一种解释,否则也可能是一个bug。如果是这种情况,您必须在Oracle支持中搜索描述您问题的关键字。

在Oracle中,对象名称的小写字符不是一个好主意,Oracle将使用大写字母,如果不是用引号括起来的话。尝试上部(对象名称)=“包装1”。。在你的where语句中,我对pkg名称使用了大写和大写,在简化代码时,我给了它一个小写的名称,错误地在这里发布,编辑了文章以反映这一点
SYSADM  var3 FORMAL IN  PKG_1 PACKAGE BODY  REFERENCE   4216    
SYSADM  var2 FORMAL IN  PKG_1 PACKAGE BODY  REFERENCE   4216    
SYSADM  var1 FORMAL IN  PKG_1 PACKAGE BODY  REFERENCE   4216    
SYSADM  TMPPARAMETERID  VARIABLE    PKG_1 PACKAGE BODY  ASSIGNMENT  4216