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.
PostgreSQL
UPDATE/DELETE ... WHERE CURRENT OF
is supported by PostgreSQL with server-side
cursors created by a DECLARE
statement.
Solution
With PostgreSQL, UPDATE/DELETE ... WHERE CURRENT OF
instructions are executed as
is without any SQL translation: Since SELECT FOR
UPDATE
statements are implemented with a DECLARE
statement to get a
server cursor, native positioned update/delete can take place in PostgreSQL.
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 [FOR UPDATE]
cursor in the
WHERE
clause of the UPDATE/DELETE
statement.