sql >> Databasteknik >  >> RDS >> Oracle

Hur man får information om alla typer av data som deklareras i ett givet paket

Använd PL/Scope ...

alter session set plscope_settings = 'IDENTIFIERS:ALL';

... och kompilera om paketet (UTL_LOG i mitt fall) ...

alter package utl_log compile;
alter package utl_log compile body;

... och fråga sedan user_identifiers visa ...

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')
;

... vilket skulle (i mitt fall) ge ...

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

Obs att PL/Scope kan användas för alla identifierare deklareras/definieras i alla programenhet, inte bara för datatypsdeklarationer.



  1. Vilket är det bästa PostgreSQL-gränssnittet? Jämförelse 2021

  2. fel:ORA-65096:ogiltigt vanligt användar- eller rollnamn i Oracle

  3. Hur testar jag i WiX om det finns en registernyckel (inte värde) för Oracle ODP.Net

  4. Långsamhet hittas när bas 64-bild väljer och kodar från databasen