2011-08-08 14 views
5

Próbuję dostać pakiet specyfikację i ciało z sqlplus wykonując tak ..SQLPLUS problem kwerendy (Pakiet Spec i Ciało)

select text from all_source 
where name = 'PACK_JACK' 
order by line; 

ale jestem tylko uzyskiwanie jej ciało nie spec .. co mam zmienić, aby uzyskać oba z nich jako jeden plik. Dziękujemy

Odpowiedz

6

Istnieje kolumna TYPE w widoku all_source. Typ może mieć 2 wartości - "PAKIET" i "ZESTAW PAKIETU". Tak, aby uzyskać specyfikację,

select text from all_source 
where name = 'PACK_JACK' 
and type = 'PACKAGE' 
order by line; 

i dostać ciało

select text from all_source 
where name = 'PACK_JACK' 
and type = 'PACKAGE BODY' 
order by line; 

Dodatkowo, zamiast korzystania all_source, można użyć user_source. all_source obejmuje wszystko, łącznie z pakietami systemowymi. USER_SOURCE ma tylko pakiety zdefiniowane przez użytkownika.

2

Aby uzyskać ciało pakietu, należy uruchomić:

select text from all_source 
where name = 'PACK_JACK' 
    and type = 'PACKAGE BODY' 
order by line; 

W przeciwieństwie do:

select text from all_source 
where name = 'PACK_JACK' 
    and type = 'PACKAGE' 
order by line; 

Ale są szanse, nie masz prawo wglądu do treści pakietu. Więc jest ukryty w tabeli ALL_SOURCE.