PL/SQL ストアド プログラム テキストについての質問
-
20-09-2019 - |
質問
私は TOAD を使用して PL/SQL 開発を行っています。TOAD でプロシージャ名を入力して f4 キーを押すと、このプロシージャのソース コードが表示されます。TOADはv$sqltextビューからソースコードを取得していると思います。私の考えを確認するために、次のようなクエリを書きました。
select * from v$sqltext
しかし、上のクエリを実行すると、Oracle はエラーを返します。
ORA-00942:テーブルまたはビューは存在しません00942。00000 - 「表またはビューが存在しません」 *原因:
*アクション:行のエラー:29 コラム:15
したがって、TOADはv$sqltextビューの代わりに他の場所からプロシージャのソースを取得すると思います。誰かこれについて教えてくれませんか?まことにありがとうございます。
解決
ストアド プロシージャ (パッケージ内ではない) の完全なクエリ:
select text
from all_source
where owner = 'MYSCHEMA'
and type = 'PROCEDURE'
and name = 'MY_PROCEDURE'
order by line;
ユーザー MYSCHEMA として接続している場合は、USER_SOURCE を使用できます。
select text
from user_source
where type = 'PROCEDURE'
and name = 'MY_PROCEDURE'
order by line;
TYPE のその他の値は次のとおりです。
- タイプボディ
- 関数
- 引き金
- タイプ
- Java ソース
- パッケージ本体
- パッケージ
他のヒント
select * from all_source
ALL_SOURCE のDatabaseリファレンスを参照してください。そして、。
あなたはその後、select * from dba_source
をチェックアウトするか、DBAの*テーブルの上にPRIVを選択した場合。このテーブルには、全体のソースコードを持っています。
所属していません StackOverflow