In Oracle rilasciare 12.2, c'è un nuovo pragma
per questo:
pragma deprecate (deprecated_thing, 'Message to other developers');
... dove deprecated_thing
è un qualsiasi identificatore PL/SQL.Le seguenti cose possono essere obsoleti:
- Sottoprogrammi
- Pacchetti
- Variabili
- Costanti
- Tipi
- Sottotipi
- Eccezioni
- cursori
Ad esempio:
CREATE OR REPLACE PACKAGE old_package AS
PRAGMA DEPRECATE(old_package , ’Package old_package has been deprecated in favor of new_package’);
PROCEDURE p1;
PROCEDURE p2;
END old_package;
Chiunque tenti di compilare qualcosa che utilizza qualsiasi cosa tu abbia deprecato riceveranno un avviso PL/SQL nella gamma di PLW-6019 a PLW-6022.
È possibile attivare questi avvisi come segue, in modo che si vedrà quando si tenta di compilare il codice:
alter session set plsql_warnings = 'enable:(6019,6020,6021,6022)';
In alternativa, è possibile impostare la sessione per il trattamento di questi avvertimenti come errori:
alter session set plsql_warnings = 'error:6020';
alternativa, è possibile impostare l'oggetto stesso per rendere chiunque di utilizzarlo per ottenere un errore:
alter package <package with deprecated stuff> compile plsql_warnings = 'error:6020' reuse settings;
fonte
2017-03-09 16:59:32
io non sono a conoscenza n sia con C# che con Java. Potresti chiarire cosa ti aspetti che succeda quando una subroutine PL/SQL viene contrassegnata come deprecata. – user272735
Hai incontrato questo thread del forum di Oracle? https://community.oracle.com/thread/2342126 – ozy
@ user272735 ha aggiunto ulteriori dettagli alla domanda. –