2011-08-08 8 views
5

私はそうすることによって、SQLPLUSからパッケージ仕様と体を取得しようとしています。..SQLPLUSのクエリの問題(パッケージ仕様と本体)

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

が、私は唯一取得しています、その本体ではないスペック..私が持っているもの両方とも1つのファイルとして取得するように変更してください。ありがとう

答えて

6

all_sourceビューにTYPE列があります。型は2つの値を持つことができます - 'PACKAGE'と 'PACKAGE BODY'。だから、スペックを取得

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

と身体さらに

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

を取得するために、代わりにALL_SOURCEを使用して、あなたはUSER_SOURCEを使用することができます。 all_sourceには、システムパッケージを含むすべてが含まれます。 USER_SOURCEにはユーザー定義のパッケージしかありません。

2

パッケージ本体を取得するには、実行します。

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

とは対照的に:

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

しかし、チャンスはあなたがパッケージ本体を参照する権限を持っていないです。したがって、ALL_SOURCE表には表示されません。