Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
ファイルから Interactive SQL 文を読み込みます。
READ [ ENCODING encoding ] filename [ parameter ] ...
encoding : identifier | string
ENCODING ENCODING 句では、ファイルの読み込みに使用されるエンコードを指定できます。READ 文は、ファイルを読み込むときにエスケープ文字を処理しません。ファイル全体が指定されたコードであると想定します。
Interactive SQL を実行するとき、データの読み込みに使用されるエンコードは次の順序で決定されます。
ENCODING 句で指定されたエンコード (この句が指定されている場合)。
ファイル内でバイトオーダーマーク (BOM) で指定されたエンコード (BOM が指定されている場合)。
default_isql_encoding オプションで指定されたエンコード (このオプションが設定されている場合)。
実行しているプラットフォームのデフォルトエンコード。英語版 Windows コンピュータでは、デフォルトエンコードは 1252 です。
READ 文は、指定したファイルから Interactive SQL 文のシーケンスを読み込みます。このファイルには、別の READ 文を含む有効な Interactive SQL 文が含まれています。READ 文はどのような深さにまでもネストできます。
filename にファイル拡張子がない場合、Interactive SQL は拡張子 .sql を持つ同じファイル名を検索します。
filename に絶対パスが含まれていない場合は、Interactive SQL がファイルを検索します。filename のロケーションは、次のように READ 文のロケーションに基づいて決定されます。
Interactive SQL で READ 文を直接実行した場合、Interactive SQL は、最初に filename へのパスを Interactive SQL が動作しているディレクトリとの相対パスとして解決しようとします。このことが失敗した場合、Interactive SQL は、環境変数 SQLPATH の中で指定されたディレクトリ内で filename を検索し、さらに環境変数 PATH の中で指定されたディレクトリ内で検索します。
Interactive SQL では、READ 文が外部ファイル (.sql ファイルなど) に存在する場合、最初に filename へのパスを外部ファイルのロケーションとの相対パスとして解決しようとします。これが失敗した場合は、Interactive SQL が動作しているディレクトリとの相対パスで filename を検索します。引き続き失敗した場合、Interactive SQL は、環境変数 SQLPATH の中で指定されたディレクトリ内で検索し、さらに環境変数 PATH の中で指定されたディレクトリ内で検索します。
パラメータは、SQL スクリプトファイル名の後にリストできます。これらのパラメータは、文ファイルの先頭の PARAMETERS 文で指定したパラメータに対応します。
パラメータ名は角カッコで囲む必要があります。Interactive SQL は、ソースファイルに { parameter-name } がある場合、対応するパラメータを置き換えます。この parameter-name は適切なパラメータ名です。
{ parameter-name }
スクリプトファイルに渡すパラメータには、識別子、数値、引用符付きの識別子、または文字列を指定できます。パラメータの周囲を引用符で囲むときは、入れ替えるテキストの中に引用符を入れてください。識別子、数、または文字列 (スペースまたはタブを含む) ではないパラメータは、角カッコ ([ ]) で囲みます。こうすると、スクリプトファイルの中で任意のテキストを置き換えることができます。
十分なパラメータがスクリプトファイルに渡されない場合、Interactive SQL は足りないパラメータの値を要求するメッセージを表示します。
Interactive SQL で reload.sql ファイルを実行する場合は、パラメータとして暗号化キーを指定する必要があります。READ 文にキーを指定していない場合、Interactive SQL でキーの入力を要求するプロンプトが表示されます。
なし
SQL/2008 ベンダー拡張。
この例では、架空のファイル status.rpt と birthday.sql から読み込みます。
READ status.rpt '160'; READ birthday.sql [>= '1988-1-1'] [<= '1988-1-30'];
この例では、Interactive SQL を起動して、特定の OEM コードページを使用する架空のファイルを処理するよう指示します。
dbisql READ ENCODING 'cp437' myfile.sql