2011-09-19 22 views
8

In semplicità, PL/SQL generalmente seguire la seguente:Come ottenere informazioni su un tipo definito dall'utente?

DECLARE 
    Variable declaration 
BEGIN 
    Program Execution 
EXCEPTION 
    Exception handling 
END; 

Sono abbastanza nuovo a PL/SQL e sto guardando la sezione di dichiarazione delle variabili in cui vorrei maggiori informazioni su SALES_PRODUCT_TY_LIST.

C'è una tabella che posso cercare per controllare le informazioni su SALES_PRODUCT_TY_LIST, come controllare le informazioni della colonna della tabella dalla vista all_tab_cols?

CREATE OR REPLACE PROCEDURE GET_DISCOUNTS 
(
    v_have_list SALES_PRODUCT_TY_LIST 
) 
IS 
    QUERY VARCHAR(5000); 
... 

Grazie.

risposta

11

Il database Oracle ha un vasto dizionario di dati (quello che alcuni altri prodotti DBMS chiamano le informazioni sullo schema). Puoi trovare tutte le opinioni here. Purtroppo, la struttura dei ToC rivista rende più difficile trovare qualcosa nella documentazione di 11g a meno che tu non sappia già cosa stai cercando, quindi use the index instead. 8-)

In ogni caso, le viste da interrogare sono ALL_TYPES e ALL_TYPE_ATTRS.

7

Questo sembra essere un tipo di raccolta definito dall'utente. Potete trovare alcune informazioni su di esso query all_types/user_types vista:

select * from user_types where type_name = 'SALES_PRODUCT_TY_LIST' 

La definizione del tipo può essere trovato per esempio, interrogando all_source/user_source vista:

select text from user_source where name = 'SALES_PRODUCT_TY_LIST' order by line 
1

Ok ho trovato qualcosa:

select * 
from all_objects 
where object_name like 'SALES%'; 
Problemi correlati