SQL Plusのファイル実行について。
この記事の内容はコチラです
- SQL Plusでファイルを実行する
- 引数の使い方
今回は、SQL Plusのファイルを実行する方法について紹介します!
SQL Plusで外部ファイル(sqlファイル)を実行する方法
SQL Plusで外部ファイル(SQLファイル)を実行する方法を解説します。通常パターン、引数ありパターン、SQL Plus起動時の実行パターンの3種類を紹介します。
SQLファイル作成
まずは、SQLの実行ファイルを2種類作成します。1つは単純なINSERT、もう1つはINSERTのデータを引数で渡すファイルです。
ファイルの中身はSQLを記述し、拡張子は「sql」とします。
ファイル1:INSERT文
-- D:\test\emp.sql -- INSERTを実行する INSERT INTO emp (emp_no, emp_name, depno) VALUES ('A009', '山田太郎', 'TO1');
「d\test」に「emp.sql」というファイル名で保存します。
ファイル2:INSERT文(引数あり)
-- D:\test\emp_para.sql -- insertを実行する INSERT INTO emp (emp_no, emp_name, depno) VALUES ('&1', '&2', '&3');
「d\test」に「emp_para.sql」というファイル名で保存します。引数は「&1」「&2」「&3」と記述します。
SQL Plusでファイルを実行する
SQL Plusで先ほど作ったファイルを実行してみます。あらかじめSQL Plusを起動しておきます。
-- 構文 @{実行するSQLファイル};
コマンドは「@」のあとに実行する外部ファイル(SQLファイル)を指定するだけです。
さっそく先ほど作成したSQLファイル「emp.sql」を実行します。
-- SQLファイルを実行する @d:\test\emp.sql;
これでSQL Plusでファイル「d\test\emp.sql」を実行できました。
SQL Plusでファイルを実行する(引数あり)
SQL Plusで引数ありのファイルを実行してみます。
-- 引数ありのSQLファイルを実行する @d:\test\emp_para.sql 'A009', '山田太郎', 'TO1';
引数を渡す場合は、引数の順番にスペース区切りで記述します。
ここでは3つの引数「’A009’」「’山田太郎’」「’TO1’」をSQLファイル「d\test\emp.sql」に渡しました。SQLファイル「emp.sql」は、この3つの引数を使ってINSERTします。
これでSQL Plusで外部ファイルを実行できました。
SQL Plus起動時にファイルを実行する
次に、SQL Plusの起動するときにファイルを実行してみます。
-- 構文 sqlplus {ユーザー}/{パスワード}@{データベース} @{実行するファイル};
SQL Plusを起動すると同時に先ほど作成したSQLファイル「emp.sql」を実行します。
-- SQLファイルをSQL Plus起動時に実行する sqlplus usr1/pass1@db1 @d:\test\emp.sql;
「@」のあとに実行する外部ファイル(SQLファイル)を指定します。これでSQL Plus起動時もに外部ファイルを実行することができました。
まとめ
SQL Plusでファイルを実行するコマンドをまとめます。
-- SQLファイルを実行する @d:\test\emp.sql; -- 引数ありのSQLファイルを実行する @d:\test\emp_para.sql 'A009', '山田太郎', 'TO1'; -- SQLファイルをSQL Plus起動時に実行する sqlplus usr1/pass1@db1 @d:\test\emp.sql;
通常パターン、引数ありパターン、SQL Plus起動時の実行パターンの3種類を紹介しました。
SQL*Plusユーザーズ・ガイドおよびリファレンス:SQL*Plusでのスクリプトの使用
以上、OracleのSQL Plusで外部ファイル(SQLファイル)を実行する方法でした。
コメント