構文
STA[RT] {url | file_name[.ext] } [arg...]
指定したスクリプトのSQL*Plus文を実行します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーからコールされます。
項
url
指定したWebサーバーで実行するスクリプトのURLを指定します。SQL*Plusは、HTTPおよびFTPプロトコルをサポートしますが、HTTPSはサポートしません。今回のリリースでは、http://username:password@machine_name.domain...形式のHTTP認証はサポートされていません。
file_name[.ext]
実行するスクリプトを指定します。このファイルには、対話形式で実行できるコマンドも含まれています。
拡張子を指定しない場合、SQL*Plusは、デフォルトのコマンド・ファイル拡張子(通常はSQL)が指定されたものとみなします。デフォルトの拡張子を変更する方法については、「SET SUF[FIX] {SQL | text}」を参照してください。
START file_name.extを入力すると、SQL*Plusは現行のデフォルト・ディレクトリの中で、指定したファイル名および拡張子を持つファイルを検索します。該当するファイルが見つからない場合、SQL*Plusは、そのファイルを見つけるためにシステム依存パスを検索します。オペレーティング・システムによっては、このパス検索がサポートされていない場合もあります。オペレーティング・システム固有の情報については、ご使用のオペレーティング・システムのプラットフォーム固有のOracleマニュアルを参照してください。
arg...
スクリプト内のパラメータに渡すデータ項目を指定します。1つ以上の引数を入力すると、SQL*Plusは、該当する値をスクリプトのパラメータ(&1、&2など)に代入します。最初の引数によって、出現したすべての&1が置換され、2番目の引数によって、出現したすべての&2が置換されます。
STARTコマンドは、引数の値でパラメータを定義します。このセッションで同じスクリプトをSTARTによって再起動する場合は、新しい引数を入力することも、引数の指定を省略して古い値を使用することもできます。
パラメータの使用方法の詳細は、「置換変数の定義」および「置換変数の使用」を参照してください。
使用方法
スクリプト起動時は、COLUMNコマンドなどで事前に設定されたすべての内容が有効です。スクリプトで設定が変更される場合、新しい値が有効になるのは、スクリプト終了後です。
@(アットマーク)および@@(二重アットマーク)コマンドは、STARTと同じ機能です。製品ユーザー・プロファイルでSTARTコマンドを使用禁止にすると、@コマンドおよび@@コマンドも使用禁止になります。これらのコマンドの詳細は、「@(アットマーク)」および「@@(二重アットマーク)」を参照してください。詳細は、「SQL*Plus、SQLおよびPL/SQLコマンドの使用禁止」を参照してください。
スクリプト内でEXITまたはQUITコマンドを使用すると、そこでSQL*Plusが終了します。
例
名前がPROMOTEで拡張子がSQLの、社員の昇進に使用するファイルには、次のコマンドが含まれていることがあります。
SELECT FIRST_NAME, LAST_NAME, JOB_ID, SALARYFROM EMP_DETAILS_VIEWWHERE JOB_ID='&1' AND SALARY>&2;
スクリプトを実行するには、次のように入力します。
START PROMOTE ST_MAN 7000
Webサーバーにある場合は、次の形式でコマンドを入力します。
START HTTP://machine_name.domain:port/PROMOTE.SQL ST_MAN 7000
machine_name.domainをhost.domain名に、portをスクリプトがあるWebサーバーが使用しているポート番号に置き換える必要があります。
次のコマンドが実行されます。
SELECT LAST_NAME, LAST_NAME FROM EMP_DETAILS_VIEW WHERE JOB_ID='ST_MAN' AND SALARY>7000;
その結果が表示されます。