oracle - all_identifiers 表中未出现同义词
问题描述
再会,
我遇到了一个奇怪的问题,即 PLSQL 包的公共同义词没有出现在 all_identifiers 表中。
我编译了包头和包体,为它创建了公共同义词。
如果我检查 all_objects 表,我可以看到包的包对象和包的同义词对象。但是如果我检查 all_identifiers 表,它没有条目。
all_identifiers 表何时更新?我会假设对象/同义词编译。
我可以强制表格更新吗?
感谢您提供任何帮助。
解决方案
长话短说:
alter session set plscope_settings='IDENTIFIERS:ALL';
阅读使用 PL/Scope。
演示:那里什么都没有(在 中ALL_IDENTIFIERS
,即):
SQL> create or replace package pkg_test as
2 procedure p_test;
3 end;
4 /
Package created.
SQL> create or replace package body pkg_test as
2 procedure p_test is begin null; end;
3 end;
4 /
Package body created.
SQL> create public synonym syn_pkg_test for pkg_test;
Synonym created.
SQL> select owner, name, type from all_identifiers where name like 'SYN%TEST';
no rows selected
SQL>
让我们重新开始,但这次首先更改会话:
SQL> drop public synonym syn_pkg_test;
Synonym dropped.
SQL> alter session set plscope_settings='IDENTIFIERS:ALL';
Session altered.
SQL> create or replace package pkg_test as
2 procedure p_test;
3 end;
4 /
Package created.
SQL> create or replace package body pkg_test as
2 procedure p_test is begin null; end;
3 end;
4 /
Package body created.
SQL> create public synonym syn_pkg_test for pkg_test;
Synonym created.
SQL> select owner, name, type from all_identifiers where name like 'SYN%TEST';
OWNER NAME TYPE
------------------------------ ------------------------------ ------------------
PUBLIC SYN_PKG_TEST SYNONYM
PUBLIC SYN_PKG_TEST SYNONYM
SQL>
呸呸呸!
推荐阅读
- python - 在python中使用正则表达式查找与给定单词相关的确切值
- android - 如何在 Kotlin 中将 View 转换为 Imageview
- python - 数据框中每月值的平均值,日期为列
- android - viewpager 中的片段显示相同的内容
- c - 严格的 atoi/strtol 函数
- sql - 同一表上的多个连接,如果连接字段为 NULL,则不返回结果
- c++ - 链表:在末尾插入一个节点
- reason - 如何在 Reason 中将 matchAll 字符串化?
- c# - 格式正确的无效日期时间
- reactjs - mobx Error 'Reaction[observerobserved] 是什么问题?