Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (P ~ Z)

 

READ 文 [Interactive SQL]

この文は、Interactive SQL 文をファイルから読み込むために使用します。

構文
READ [ ENCODING encoding ] filename [ parameter ] ...
encoding : identifier または string
備考

READ 文は、指定したファイルから Interactive SQL 文のシーケンスを読み込みます。このファイルには、別の READ 文を含む有効な Interactive SQL 文が含まれています。READ 文はどのような深さにまでもネストできます。ファイル名に絶対パスが含まれていない場合は、Interactive SQL がファイルを検索します。Interactive SQL は、最初に呼び出し元ファイル (存在する場合) のディレクトリを検索してから現在のディレクトリを検索します。次に、環境変数 SQLPATH の中で指定されたディレクトリを検索し、さらに環境変数 PATH の中で指定されたディレクトリを検索します。指定したファイルにファイル拡張子がない場合、Interactive SQL は各ディレクトリで拡張子 .sql を持つ同じファイル名を検索します。

ENCODING 句では、ファイルの読み込みに使用されるエンコードを指定できます。READ 文は、ファイルを読み込むときにエスケープ文字を処理しません。ファイル全体が指定されたコードであると想定します。

Interactive SQL を使用するときに ENCODING 句を指定しなかった場合、ファイルの読み込みに使用されるエンコードは次の順番で決定されます。

  • default_isql_encoding オプションで指定されたエンコード (このオプションが設定されている場合)

  • Interactive SQL が動作しているコンピュータ上のオペレーティング・システムの文字セットのデフォルトのエンコード

Interactive SQL とエンコードの詳細については、default_isql_encoding オプション [Interactive SQL]を参照してください。

パラメータは、コマンド・ファイル名の後にリストできます。これらのパラメータは、文ファイルの先頭の PARAMETERS 文で指定したパラメータに対応します。PARAMETERS 文 [Interactive SQL]を参照してください。

パラメータ名は角カッコで囲む必要があります。Interactive SQL は、ソース・ファイルに {parameter-name} がある場合、対応するパラメータを置き換えます。この parameter-name は適切なパラメータ名です。

コマンド・ファイルに渡すパラメータは、識別子、数、引用符付きの識別子、または文字列です。パラメータの周囲を引用符で囲むときは、入れ替えるテキストの中に引用符を入れてください。識別子、数、または文字列 (スペースまたはタブを含む) ではないパラメータは、角カッコ ([ ]) で囲みます。こうすると、コマンド・ファイルの中で任意のテキストを置き換えることができます。

十分なパラメータがコマンド・ファイルに渡されない場合、Interactive SQL は足りないパラメータの値を要求するメッセージを表示します。

Interactive SQL で reload.sql ファイルを実行する場合は、パラメータとして暗号化キーを指定する必要があります。READ 文にキーを指定していない場合、Interactive SQL でキーの入力を要求するプロンプトが表示されます。Interactive SQL ユーティリティ (dbisql)を参照してください。

filename のロケーションは、次のように READ 文のロケーションに基づいて決定されます。

  • Interactive SQL で READ 文を直接実行した場合、filename へのパスは、Interactive SQL が動作しているディレクトリとの相対パスとして解決されます。

  • Interactive SQL では、READ 文が外部ファイル (.sql ファイルなど) に存在する場合、最初に filename へのパスを外部ファイルのロケーションとの相対パスとして解決しようとします。これが失敗した場合は、Interactive SQL が動作しているディレクトリとの相対パスで filename を検索します。

パーミッション

なし

関連する動作

なし

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次は、READ 文の例です。

READ status.rpt '160';
READ birthday.sql [>= '1988-1-1'] [<= '1988-1-30'];