Oracle用のToadでストアドプロシージャ、ビュー、関数、トリガーのスクリプトを取得するにはどうすればよいですか?
一般に、DDLステートメントを取得するにはdbms_metadata
を使用する必要があります。例えば。
select dbms_metadata.get_ddl('VIEW', 'V_MYVIEW') from dual;
もちろん、これはデータディクショナリに対するクエリでラップできます。
select dbms_metadata.get_ddl(object_type, object_name)
from user_objects
where object_type in ('VIEW', 'PROCEDURE', 'FUNCTION', 'TRIGGER');
Toadメニューで、[データベース]-> [スキーマブラウザ]を選択します。表示されたタブを使用して、ビュー、プロシージャ、テーブル、トリガー、関数間を移動します。
Toadにはこれを行ういくつかの方法があります。スキーマブラウザで任意のコードオブジェクトをダブルクリックするだけで、エディタが開き、そのオブジェクトの作成DDLが表示されます。または、スキーマブラウザの左側でオブジェクトを選択し、右側で[スクリプト]タブを選択します([スクリプト]タブが表示されない場合は、オプションを確認してください)。
ただし、多数のオブジェクトのDDLを表示する場合は、スキーマブラウザですべてのオブジェクトを選択するか、[オブジェクト検索]ウィンドウでそれらを検索します。次に、右クリックして[スクリプトとして保存]を選択します。また、基本的に同じことを行うExtract DDLツールがあると思いますが、SQLNavigatorについて考えているかもしれません。スキーマ全体を作成スクリプトとしてエクスポートする方法もあります。ただし、これらの機能の一部は、ライセンスレベルによって異なる場合があります。
ところで、これはプログラミングの質問ではありません。
dba_sourceテーブルを使用すると、使用する必要のあるプロシージャ関数とトリガーのスクリプトが提供されますSELECT TEXT FROM dba_source WHERE TYPE = 'Procedure';
実際、スキーマブラウザにアクセスすると、任意のオブジェクト(または複数のオブジェクト)を右クリックして、スクリプトとして保存できます。
申し訳ありませんが、PL/SQLの問題を解決しようとしているこのスレッドに出くわしました。ここの情報は実際に私を助けました、それが他の誰かを助けるかもしれないという心のイム。
PL SQL開発者では、ビューを右クリックし、下部にオプションDBMS_METADATAがあります。 DDLを選択できるフライアウトがあります。
現在のクライアントでは、ORA-31603を入手しています。タイプ「VIEW」のオブジェクト「objname」がスキーマ「schemaName」に見つかりません
これは権限の問題であり、技術的に解決できます。あなたの組織があなたにあなたの仕事をさせたいかどうかはあなたが彼らと一緒に取り組まなければならない問題です。
すべてのストアドプロシージャを選択しますマウスの右ボタンをクリックします次へ送信を選択しますエディタを選択してスクリプトを作成します.sqlextenDONEでファイルを保存します
クエリでオブジェクト名(関数テーブルビュー、...)をクリックしてCtrl + LeftMouseClickを試してください
ヒキガエルで、試してみてください Ctrl+left mouse click クエリ内のオブジェクト名(関数テーブルビュー...)。
ALL_SOURCE
ビューにクエリを実行して、必要なデータを取得できます。例えば:
select owner, name, type, line, text from all_source
where name like upper('%database_name%')
order by owner, name, type, line;
type
列には、FUNCTION
、Java SOURCE
、PACKAGE
、PACKAGE BODY
、PROCEDURE
、TRIGGER
、TYPE
、TYPE BODY
。
また、スキーマにあるものだけが必要な場合は、USER_SOURCE
を使用できます(そこにowner
列はありません)。例えば:
SELECT * FROM user_source WHERE line = 1;