用途
対応付けられた問合せを評価し、USING句が示す入力ホスト変数名を問合せのWHERE句に代入して、カーソル(ANSI動的SQL方法4用)をオープンします。INTO句は、出力記述子を示します。
前提条件
カーソルは、オープンする前に埋込みSQLのDECLARE CURSOR文を使用して宣言しておく必要があります。
構文
キーワードおよびパラメータ
| キーワードおよびパラメータ | 説明 |
|---|---|
array_size integer |
処理される行の数を格納するホスト変数。 処理される行数。 |
cursor |
オープンする(すでに宣言されている)カーソル。 |
USING DESCRIPTOR |
ANSI入力記述子を指定します。 |
descriptor_name |
ANSI記述子の名前が含まれるホスト変数。 |
'descriptor name' |
ANSI記述子の名前。 |
INTO DESCRIPTOR |
ANSI出力記述子を指定します。 |
descriptor_name |
ANSI記述子の名前が含まれるホスト変数。 |
'descriptor name' |
ANSI記述子の名前。 |
GLOBAL | LOCAL |
LOCAL (デフォルト)はファイルのスコープで、GLOBALはアプリケーションのスコープです。 |
使用上の注意
プリコンパイラのオプションDYNAMICにANSIを設定します。
OPEN文は、行のアクティブ・セットを定義し、アクティブ・セットの最初の行の直前でカーソルを初期化します。OPEN時のホスト変数の値がSQL文に代入されます。この文は、実際には行を取り出しません。行はFETCH文を使用して取り出されます。
カーソルを一度オープンすると、入力ホスト変数はカーソルを再オープンするまで再テストされません。入力ホスト変数およびアクティブ・セットを変更するには、カーソルを再オープンする必要があります。
プログラム内のすべてのカーソルは、プログラムを開始する場合またはCLOSE文を使用してカーソルを明示的にクローズした後にクローズ状態になります。
カーソルは事前にクローズしなくても、再オープンできます。この文の詳細は、INSERT文を参照してください。
例
char dyn_statement[1024] ; ... EXEC SQL ALLOCATE DESCRIPTOR 'input_descriptor' ; EXEC SQL ALLOCATE DESCRIPTOR 'output descriptor' ... EXEC SQL PREPARE S FROM :dyn_statement ; EXEC SQL DECLARE C CURSOR FOR S ; ... EXEC SQL OPEN C USING DESCRIPTOR 'input_descriptor' ; ...
関連項目