こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SQL*PLUSでファイルからDELETE文

お世話になります、

Oracle8のSQL*PLUSを使用方法についての質問です。

ローカルにファイル(delete.sql)を作成して
SQL*PLUSからそのファイルを流してファイルの中身の処理を実行するという方法をご存知の方が
いらっしゃったらおしえてください。

--delete.sqlの中身---------
delete from table_a
delete from table_b
delete from table_c
delete from table_d
delete from table_e
以下省略

よろしくお願いします。

投稿日時 - 2001-07-18 00:54:08

QNo.105819

困ってます

質問者が選んだベストアンサー

SQL*Plusには、ファイルの内容をリダイレクトで実行する機能があります。

DOSプロンプトから

>PLUS80W.EXE system/manager@orcl < delete.sql

と入力してください。

ただし、ユーザー名、パスワード、インスタンス名などはそちらの環境に合わせてください。
ちなみに、delete.sqlの最後に、exitと記述しておけば、終了後にSQL*plusを自動的に終了します。
また、delete.sqlの先頭に、spool delete.logとしておけば、実行のログを作成できます。

SQL*Plusの実行ファイル名はOSやOracleのバージョンによって変わりますが、NTのOracle8なら上記のファイル名で大丈夫だと思います。

投稿日時 - 2001-07-18 01:28:25

お礼

ありがとうございました。
大変勉強になりました。

投稿日時 - 2001-07-18 09:55:04

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

rallyさんの回答でほとんど正解なのですが、delete.sqlの各行の最後に「;」が抜けています。また、省略されていますが、「commit;」も入っていないとコミットされません。

あと、sql*plusのプロンプトから、実行する場合は、
@(ファイルのあるパス)delete.sql
で、実行できます。

投稿日時 - 2001-07-18 08:14:41

お礼

ありがとうございました。

投稿日時 - 2001-07-18 09:53:31

あなたにオススメの質問