Informix Error -11009: More than one row updated or deleted.
Cause and resolution
More than one row updated or deleted.
This Informix CLI error code is the same as SQLSTATE value 01S04. The following functions can return this error code: SQLExecDirect() and SQLExecute().
The function returned SQL_SUCCESS_WITH_INFO, which means that the function completed successfully, and that a nonfatal error occurred. The nonfatal error occurred because the SQL statement or prepared statement contained a positioned UPDATE or DELETE statement, and the function updated or deleted more than one row. For more information, call SQLError().
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-11009 fires when SQLExecDirect()/SQLExecute() runs a positioned UPDATE/DELETE that
affects more than one row — per the official guidance, this is the same as SQLSTATE value
01S04.
- A positioned
UPDATE/DELETEstatement matching more than one row, per the official guidance — the direct, only cause; a positioned statement is expected to affect exactly the cursor's current row.
Solutions / Resolution
- Confirm the cursor's positioning and the statement's targeting criteria, per the official guidance's implication, so only the intended single row is affected.
Examples
N/A
No specific triggering statement is documented beyond a positioned UPDATE/DELETE matching more than one row.
Diagnostic Checks
- Check the cursor's current position and the underlying query's row uniqueness before the positioned statement executes.
Related Errors / Related Topics
- -11008 — "No rows updated or deleted." The mirror-image condition — no rows affected rather than too many.
A positioned UPDATE/DELETE affected more than one row — check the cursor's position and the query's row uniqueness.