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
cursor in the [
FOR UPDATE]
WHERE
clause of the UPDATE/DELETE
statement.