カーソルを使用している現在の行を指定する節です。
Synopsis
WHERE CURRENT OF cursor 
[AND condition-expression]
引数
cursor 処理が現在の cursor の場所で実行されることを指定します。cursor はテーブルを指す カーソル です。カーソルが指す行とその行に続くすべての行を更新または削除するか、または (AND 節が指定されている場合は) AND 条件式と一致するすべての行を更新または削除します。
AND condition-expression オプションWHERE CURRENT OF 節と共に使用して、指定された処理を行う条件をさらに制限します。"condition-expression" を参照してください。
概要
WHERE CURRENT OF 節は、INSERT 文、UPDATE 文、DELETE 文で使用されます。以下の例のように、カーソル・ベースのコマンドで使用されます。
   &sql(DELETE FROM Employees WHERE CURRENT OF EmployeeCursor)
最後の FETCH コマンドによって "EmployeeCursor" カーソルから取得した行を削除します。
WHERE CURRENT OF 節と共に SET を使用してフィールドの値を指定しても無効になります。実行しようとすると、SQL error -69 (SET <field> = <value expression> not allowed with WHERE CURRENT OF <cursor>) が生じます。
以下の例は、埋め込み SQL を使用した UPDATE 処理を示しています。
   &sql(OPEN EmployeeCursor)
   FOR {
   &sql(FETCH EmployeeCursor) 
   QUIT:SQLCODE'=0
   &sql(UPDATE Employees SET VAR = :var WHERE CURRENT OF EmployeeCursor) }
   &sql(CLOSE EmployeeCursor)
関連項目