Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara mendapatkan informasi tentang semua jenis data yang dideklarasikan dalam paket yang diberikan

Gunakan PL/Cakupan ...

alter session set plscope_settings = 'IDENTIFIERS:ALL';

... dan kompilasi ulang paket (UTL_LOG dalam kasus saya) ...

alter package utl_log compile;
alter package utl_log compile body;

... lalu kueri user_identifiers lihat ...

select name, type, object_name, object_type, line, col
from user_identifiers
where object_name = 'UTL_LOG'
    and usage = 'DECLARATION'
    and type not in ('VARIABLE','FUNCTION','FORMAL IN','FORMAL OUT','CONSTANT','PROCEDURE','FUNCTION','PACKAGE')
;

... yang akan (dalam kasus saya) menghasilkan ...

NAME                TYPE    OBJECT_ OBJECT_ LINE COL
------------------- ------- ------- ------- ---- ---
ARR_SOME_COLLECTION VARRAY  UTL_LOG PACKAGE   19   6
REC_SOME_RECORD     RECORD  UTL_LOG PACKAGE   15   6
TYP_LOG_CODE        SUBTYPE UTL_LOG PACKAGE    8   9

Harap diperhatikan bahwa PL/Cakupan dapat digunakan untuk apa saja pengenal dideklarasikan/didefinisikan dalam apa saja unit program, tidak hanya untuk deklarasi tipe data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membangun daftar nilai yang dipisahkan koma dalam pernyataan Oracle SQL

  2. Apakah ODP.NET dapat didistribusikan kembali?

  3. Cara menangkap kesalahan ke forall plsql

  4. Urutan eksekusi kondisi dalam klausa 'di mana' SQL

  5. Oracle LISTAGG() untuk beberapa atribut?