Oracle
為什麼 SQL Developer 更新 Oracle 數據字典而 SQL*Plus 不更新?
我將以下程式碼儲存在腳本文件中
create or replace package test_record is type t_test_rec is record( name varchar2(64) ,value pls_integer ); end test_record; /
當我從 SQLPlus 執行它時,_IDENTIFIERS 數據字典不會更新以包含類型的聲明。但是,如果我在 SQL Developer 中複製/粘貼相同的程式碼並將其作為腳本 (F5) 執行,則會更新提到的數據字典。
即使我強制從 SQLPlus 重新編譯包,_IDENTIFIERS 表也不會更新,無論我使用什麼方法(alter package …、dbms_utility.compile_schema、dbms_ddl.alter、…)。
如何強制 SQL*Plus 在這方面表現得像 SQL Developer?
SQL Developer 自動設置以下內容:
alter session set plscope_settings='IDENTIFIERS:ALL';
您可以在 SQL*Plus 中使用它。
(預設為
IDENTIFIERS:NONE
。)