UPDATE/DELETE … WHERE CURRENT OF
Informix®
Informix allows positioned UPDATEs and DELETEs with the "WHERE CURRENT OF cursor" clause, if the cursor has been DECLARED with a SELECT ... FOR UPDATE statement.
ORACLE
The UPDATE/DELETE ... WHERE CURRENT OF cursor
statements are
not support by the Oracle database API.
However, ROWIDs can be used for positioned updates and deletes.
Solution
UPDATE/DELETE ... WHERE CURRENT OF
instructions
are emulated by the ORACLE database interface by using ROWIDs:
The ORACLE database interface
replaces WHERE CURRENT OF cursor
by WHERE
ROWID=:rid
and sets the value of the ROWID returned by the last FETCH
done
with the given cursor.
As a replacement of WHERE CURRENT OF
, if the database
table is defined with a primary key column, use the value fetched from the
SELECT
cursor in the [
FOR UPDATE]
WHERE
clause of the UPDATE/DELETE
statement.