ヘッダーをスキップ
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
リリース11.2
B56314-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

@(アットマーク)

構文

@{url | file_name[.ext] } [arg...]

指定したスクリプトのSQL*Plus文を実行します。スクリプトは、ローカル・ファイル・システムまたはWebサーバーからコールされます。@コマンドは、@@およびSTARTと同様の働きをします。

url

指定したWebサーバーで実行するスクリプトのURLを指定します。SQL*Plusは、HTTPおよびFTPプロトコルをサポートしますが、HTTPSはサポートしません。今回のリリースでは、http://username:password@machine_name.domain...形式のHTTP認証はサポートされていません。

file_name[.ext]

実行するスクリプトを指定します。extを指定しない場合、SQL*Plusは、デフォルトのコマンド・ファイル拡張子(通常はSQL)が指定されたものとみなします。デフォルトの拡張子を変更する方法については、「SET SUF[FIX] {SQL | text}」を参照してください。

@file_name.extを入力すると、SQL*Plusは、現行のデフォルト・ディレクトリで、そのファイル名および拡張子を持つファイルを検索します。現行のディレクトリで該当するファイルが見つからない場合、SQL*Plusは、そのファイルを見つけるためにシステム依存パスを検索します。オペレーティング・システムによっては、このパス検索がサポートされていない場合もあります。オペレーティング・システム固有の情報については、ご使用のオペレーティング・システムのプラットフォーム固有のOracleマニュアルを参照してください。

arg...

スクリプト内のパラメータに渡すデータ項目を指定します。1つ以上の引数を入力すると、SQL*Plusは、該当する値をスクリプトのパラメータ(&1、&2など)に代入します。最初の引数によって、出現したすべての&1が置換され、2番目の引数によって、出現したすべての&2が置換されます。

@コマンドは、引数に値を指定してパラメータを定義します。このセッションで同じスクリプトを再度実行する場合は、新しい引数を入力することも、引数を省略して現行の値を使用することもできます。パラメータの使用方法の詳細は、「置換変数の使用」を参照してください。

使用方法

スクリプト起動時は、COLUMNコマンドなどで事前に設定されたすべての内容が有効です。スクリプトで設定が変更される場合、新しい値が有効になるのは、スクリプト終了後です。

スクリプトには、通常、対話形式で入力するコマンド(主に、SQLコマンド、SQL*PlusコマンドまたはPL/SQLブロック)であれば、どのコマンドでも組み込むことができます。

STARTコマンドが使用禁止にされると(「SQL*Plus、SQLおよびPL/SQLコマンドの使用禁止」を参照)、同時に@コマンドも使用禁止になります。STARTコマンドについては、「START」を参照してください。

SQL*Plusは、@コマンドを実行する前にSQLTERMINATOR(デフォルトではセミコロン)を削除します。コマンドにセミコロンが必要な場合、もう1つのSQLTERMINATORを追加します。詳細は、「SET SQLT[ERMINATOR] {; | c | ON | OFF}」を参照してください。

名前がPRINTRPTで拡張子がSQLであるスクリプトを実行するには、次のように入力します。

@PRINTRPT

名前がWKRPTで拡張子がQRYであるスクリプトを実行するには、次のように入力します。

@WKRPT.QRY

YEARENDという名前のスクリプトをURLで指定して実行し、値を通常どおりの方法でYEARENDで参照する変数に渡すには、次のように入力します。

@HTTP://machine_name.domain:port/YEAREND.SQL VAL1 VAL2
@FTP://machine_name.domain:port/YEAREND.SQL  VAL1 VAL2

SQLレポート用に構成されたWebサーバー上で、SQL*Plusを要求して動的スクリプトを実行するには、次のように入力します。

@HTTP://machine_name.domain:port/SCRIPTSERVER?ENDOFYEAR VAL1 VAL2