HOME >> Tips >> Oracle

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

2016/7/6
文書番号:20536



SQL*Plus で SQL を記述した外部ファイルを実行する方法です。

実行するSQL を記述したファイルを「sample.sql」というファイル名で作成しておきます。

【実行手順】

  • SQL*Plus で実行します。
    「@」の後にSQLファイルをフルパスで記述します。
    
    
    SQL > @c:\sample.sql
    
  • SQL*Plus 起動時にSQLファイルを指定して実行します。

    sqlplusの起動時の引数に半角スペースを入れて「@」とその後ろに実行する外部ファイルをフルパスで記述します。
    ※ファイル名は環境に合わせて設定してください。

    ※「sample.sql」ファイルには最後に「exit」を記述しておきます。
     「exit」がないと SQL*Plus の中でコマンドの待ち状態になるのでいつまでたっても終了しません。
    
    
    sqlplus ユーザー/パスワード@接続文字列 @c:\sqmple.sql
    
  • SQLファイルを実行する際に引数を指定して実行することもできます。
    まずSQL ファイルの中には引数を指定する部分に「&1」「&2」と連番で指定します。

    以下のように引数で受ける部分を指定したSQLを記述して「sample.sql」を作成します。
    
    INSERT INTO テーブルA(
         列1
        ,列2
    ) VALUES (
         '&1'
        ,'&2'
    )
    
    exit
    
    外部ファイルを指定する際にファイル名の後ろに半角スペースを置いて指定することで引数を送ることができます。
    
    
    sqlplus ユーザー/パスワード@接続文字列 @c:\sqmple.sql 引数1 引数2