0

I have the following code stored in a script file

create or replace package test_record
is
 type t_test_rec is record(
 name varchar2(64)
 ,value pls_integer
 );
end test_record;
/

When I execute it from SQL*Plus, the *_IDENTIFIERS data dictionaries are not updated to include the declaration of the type. However, if I copy/paste the same code in SQL Developer and run it as a script (F5), the mentioned data dictionaries are updated.

Even if I force a recompile of the package from SQL*Plus, the *_IDENTIFIERS tables are not updated, no matter what method I use (alter package ..., dbms_utility.compile_schema, dbms_ddl.alter, ...).

How can I force SQL*Plus to behave like SQL Developer in this respect?

asked Jan 7, 2017 at 12:50

1 Answer 1

3

SQL Developer automatically sets the below:

alter session set plscope_settings='IDENTIFIERS:ALL';

You can use the same in SQL*Plus.

(The default is IDENTIFIERS:NONE.)

answered Jan 7, 2017 at 13:05
1
  • once you have PL/Scope going, you can take advantage of it in SQL Developer like so thatjeffsmith.com/archive/2016/06/plscope-support - much more powerful than text searches on ALL_SOURCE view to find things in your source code Commented Jan 8, 2017 at 13:37

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.