
No.1ベストアンサー
- 回答日時:
> ストアドプロシージャを出力したいと思っているのですが
> オブジェクトブラウザからですと、対象のSPを選択し、スクリプト出力することで
出力と言っているのが、「ソースの出力」なのか「実行結果の出力」なのかが不明ですが、「オブジェクトブラウザのスクリプト出力」なので前者であろうと想定して回答します。
> sqlplusなどから、同様にファイル出力を行うことは可能でしょうか?
はい。可能です。
オブジェクトブラウザも内部的には、ALL_SOURCEやDBA_SOURCEなどのディクショナリからソースを取得していると思われますので、同じ事をすればよいだけです。
以下のSQLを実行して SPOOL すればテキストに保存できます。
実行時のSET文にはちょっと工夫が必要です。
SET HEAD OFF;
SET PAGES 0;
SET LINES 300;
SET TRIMS OFF;
--↑他にもあったかもしれませんが、とりあえずこんな感じで。
ACCEPT TARGET_SP_NM PROMPT ストアドプロシージャ名入力:
ACCEPT TARGET_SP_OWNER PROMPT 所有スキーマ名入力:
SPOOL &TARGET_SP_NM..sql
-- &TARGET_SP_NM
SELECT TEXT FROM ALL_SOURCE
WHERE NAME = UPPER('&TARGET_SP_NM')
AND OWNER = UPPER('&TARGET_SP_OWNER')
ORDER BY LINE;
SPOOL OFF;
「ソースの出力」ではなく「実行結果の出力」であれば、
EXECUTE SP_XXXX(&引数 ...);
などで実行できます。
(※OUTパラメータを使う場合は、無名PL/SQLブロックを使う必要があります)
SPOOL の方法は同様なので、上記を参考にしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLPLUSで結果を画面に表示しない
-
Oracleでインスタンスを複数に...
-
selectした結果の余計な余白を...
-
dmpファイルをインポートせずに...
-
【Excel】[Expression.Error] ...
-
Access インポート
-
Accessのmdbを開こうとしたとき...
-
Accessで以下のシステムを1か...
-
アクセスクエリ(複数)→マクロ...
-
#1062 - '0' は索引 'PRIMARY' ...
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
アクセスでcsvに出力した際、頭...
-
ACCESSでのINSERTについて
-
ExcelのマクロでAccessのmdbを...
-
XMLデータを変換し印刷する方法
-
アクセスでエラー このフィー...
-
Access2007のエキスポートについて
-
【CSVファイル】先頭の文字列に...
-
datファイルをAccessでイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLPLUSで結果を画面に表示しない
-
selectした結果の余計な余白を...
-
AccessからExcelのファイルを起...
-
dmpファイルをインポートせずに...
-
Oracleでインスタンスを複数に...
-
ストアドプロシージャの出力に...
-
動的にSPOOLファイルのファイル...
-
実行したSQLファイルの名前をフ...
-
SQL*PLUSで 定期的にSQLを発行...
-
sqlplusの操作をシェル上で
-
Accessのレポート出力をWordに...
-
レポートをpdfに変換する方法
-
リスナーのトレースについて
-
sqliteはExcelと連携できますか?
-
ORACLEから各テーブルをCSV形式...
-
DB2にspoolコマンドみたいなの...
-
SQLServer2005でSELECTした結果...
-
SQL*PLUSでファイルからDELETE文
-
DB2のコマンドラインexportで複...
-
Oracle8i データをファイルに出力
おすすめ情報