カーソルは、SQL問合わせによって返された応答セット内の結果行を参照するために、ストアド プロシージャおよびPreprocessor2によって実行時に使用されるデータ構造です。プロシージャと埋め込みSQLも、カーソルを使用して複文リクエストおよびSQLマクロの挿入、更新、実行を管理します。
テンポラル テーブルについて説明したDMLセマンティクスは、カーソルに関連するDMLに適用されます。ただし、次に挙げる定位置(更新可能)カーソルに関連する制限が付随します。
- current形式の定位置カーソルのみが使用できます。繰り返し文のFOR、DECLARE CURSORに指定したSELECT文、および定位置DELETE文と定位置UPDATE文は、CURRENTとして修飾する必要があります。
- テンポラル テーブルに対するSELECT文では、その文が更新可能カーソルに関するすべてのルールに従っていれば、更新可能カーソルを開くことができます。
- 更新可能なカーソルを開くSELECT文の構文は、文がテンポラル テーブルを参照する場合はSELECT/SELECT ... INTO (テンポラル形式)で説明されている構文と同じですが、FROM句はtransaction-time次元でAS OF句を指定すべきではありません。
- 定位置DELETEは、必ずCURRENT削除になります。また、FROM句の一部としてAS OF句を指定してはいけません。
- 定位置UPDATEは、必ずCURRENT更新になります。