SQL Plusで外部ファイルを実行する方法

SQL Plusで外部ファイル(sqlファイル)を実行する方法

SQL Plusで外部ファイル(SQLファイル)を実行する方法を解説します。

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ファイル)を指定します。

さっそく先ほど作成したSQLファイル「emp.sql」を実行します。

--SQLファイルを実行する 
@d:\test\emp.sql; 

これでSQL Plusで外部ファイル「d\test\emp.sql」を実行できました。

SQL Plusで外部ファイルを実行する(パラメータあり)

SQL Plusでパラメータありの外部ファイルを実行してみます。

--パラメータありのSQLファイルを実行する 
@d:\test\emp.sql 'A009', '山田太郎', 'TO1';

パラメータを渡す場合は、パラメータの順番にスペース区切りで記述します。

ここでは3つのパラメータ「’A009’」「’山田太郎’」「’TO1’」をSQLファイル「d\test\emp.sql」に渡しました。

SQLファイル「emp.sql」は、この3つのパラメータを使ってINSERTします。

これでSQL Plusで外部ファイルを実行できました。

SQL Plus起動時に外部ファイルを実行する

次に、SQL Plusの起動するときに外部ファイルを実行してみます。

--SQLファイルをSQL Plus起動時に実行する
sqlplus {ユーザー}/{パスワード}@{データベース} @{実行するファイル};

SQL Plusを起動すると同時に先ほど作成したSQLファイル「emp.sql」を実行します。

--SQLファイルをSQL Plus起動時に実行する
sqlplus usr1/pass1@db1 @d:\test\emp.sql;

「@」のあとに実行する外部ファイル(SQLファイル)を指定します。これでSQL Plus起動時もに外部ファイルを実行することができました。

 

参照:SQL*Plusでのスクリプトの使用

以上、OracleのSQL Plusで外部ファイル(SQLファイル)を実行する方法でした。

コメント

タイトルとURLをコピーしました