用途
前提条件
カーソル変数にメモリーを割り当てるには、その前にsql_cursor
型のカーソル変数(データ型とホスト変数を参照)を宣言する必要があります。
オブジェクト・キャッシュにメモリーを割り当てるには、その前にホスト構造体を指すポインタとオプションのインジケータ構造体を指すポインタを宣言する必要があります。
データベースへの接続が必ずアクティブである必要があります。
構文
キーワードおよびパラメータ
キーワードおよびパラメータ | 説明 |
---|---|
db_name |
CONNECT文で先に設定されるデータベース接続名を含むNULL終了文字列。省略した場合または空文字の場合は、デフォルトのデータベース接続とみなされます。 |
host_variable |
データベース接続名を格納するホスト変数。 |
cursor_variable |
割り当てるカーソル変数。 |
host_ptr |
オブジェクト型に対してOTTにより生成されるホスト構造体へのポインタ、 |
ind_ptr |
インジケータ構造体へのオプションのポインタ。 |
使用上の注意
カーソルは静的ですが、カーソル変数は特定の問合せに結び付けられていないため動的です。カーソル変数は、型の互換性のある任意の問合せに対してオープンできます。
この文の詳細は、Oracle Database PL/SQL言語リファレンスおよびOracle Database SQL言語リファレンスを参照してください。
例
この部分的な例では、Pro*C/C++プログラムでALLOCATE文を使用する方法を示します。
EXEC SQL BEGIN DECLARE SECTION; SQL_CURSOR emp_cv; struct{ ... } emp_rec; EXEC SQL END DECLARE SECTION; EXEC SQL ALLOCATE :emp_cv; EXEC SQL EXECUTE BEGIN OPEN :emp_cv FOR SELECT * FROM emp; END; END-EXEC; for (;;) { EXEC SQL FETCH :emp_cv INTO :emp_rec; ... }
関連項目