Thanks for the question.
Asked: September 29, 2021 - 6:19 am UTC
Last updated: September 30, 2021 - 10:00 am UTC
Version: Oracle 19c
Viewed 10K+ times! This question is
create or replace noneditionable procedure p as begin dbms_output.put_line ( 'First version' ); end p; / exec p (); First version create or replace noneditionable procedure p as begin dbms_output.put_line ( 'Second version' ); end p; / exec p (); Second version create or replace editionable procedure p as begin dbms_output.put_line ( 'Editionable version' ); end p; / ORA-38824: A CREATE OR REPLACE command may not change the EDITIONABLE property of an existing object. exec p (); Second version alter procedure p editionable; create or replace editionable procedure p as begin dbms_output.put_line ( 'Editionable version' ); end p; / exec p (); Editionable version
select editions_enabled from dba_users where username = user; EDITIONS_ENABLED N
Piotr, September 29, 2021 - 9:06 am UTC
SQL> select row_number() over(order by username desc) as SCHEMA, editions_enabled 2 from dba_users 3 where username in ('PPS','MEDIS'); SCHEMA E ---------- - 1 N 2 N
create table test_editionable( test number ) create synonym syn_editionable for test_editionable -------------------------------------------------------------------------
first schema: SQL> select editionable from all_objects where owner = 'PPS' and object_name = 'SYN_EDITIONABLE'; E - N (as default) second schema: SQL> select editionable from all_objects where owner = 'MEDIS' and object_name = 'SYN_EDITIONABLE'; E - Y (as default)
Piotr, September 29, 2021 - 2:16 pm UTC
create or replace noneditionable ... alter ... editionable;
Piotr, September 30, 2021 - 6:12 am UTC
alter ... editionable
Need more information on Administration? Check out the Administrators guide for the Oracle Database