Start of change

-817   THE SQL STATEMENT CANNOT BE EXECUTED BECAUSE THE STATEMENT WILL RESULT IN A PROHIBITED DATA CHANGE OPERATION.

Explanation

The application attempted to execute an SQL statement that would result in updates to user data or to the subsystem catalog. This is prohibited for one of the following reasons:

  • The application is running as an IMS™ inquiry-only transaction.
  • The application is an IMS, CICS®, or RRSAF application that is attempting to update data at a remote DBMS that does not support two-phase commit.
  • The application is attempting to update data at multiple locations and one of the locations does not support two-phase commit.
  • A trigger defined with activation time BEFORE was activated and its triggered action caused updates to the database.
  • A CREATE TABLE statement for an accelerator-only table was followed by a data change operation for an accelerator-only table.

These SQL statements include INSERT, UPDATE, MERGE, DELETE, CREATE, ALTER, DROP, GRANT, and REVOKE.

System action

The statement cannot be processed.

Programmer response

If the application is running as an IMS inquiry-only transaction, see your IMS system programmer about changing the inquiry-only status of the transaction under which your application is running.

If the IMS, CICS, or RRSAF application is attempting a remote update, either the application must be changed to run as a local application on the server DBMS, or the server DBMS must be upgraded to support two-phase commit.

If the application is attempting to update data at multiple locations, either the application must be changed, or all DBMSs involved must be upgraded to support two-phase commit.

If the connection to the remote system is through VTAM®, ensure that the VTAM APPL statement specifies SYNCLVL=SYNCPT.

If the error is due to an invalid statement during a trigger activation, contact your system administrator to correct the trigger definition.

SQLSTATE

25000

End of change