SQL/MX 2.x Reference Manual (G06.24+, H06.03+)
SQL/MX Statements
HP NonStop SQL/MX Reference Manual—523725-004
2-177
C Examples of ROLLBACK WORK
 WHERE partnum = 4130 AND loc_code = 'K43';
ROLLBACK WORK; 
ROLLBACK WORK cancels the inserts that occurred during the transaction and 
releases the locks held on ORDERS and ODETAIL. 
C Examples of ROLLBACK WORK
•
Start a transaction, execute an UPDATE statement, and test SQLSTATE. If the 
UPDATE is successful, the database changes are committed. Otherwise, the 
database changes are rolled back.
...
char SQLSTATE_OK[6] = "00000";
EXEC SQL BEGIN DECLARE SECTION;
 char SQLSTATE[6];
 ... 
EXEC SQL END DECLARE SECTION;
...
EXEC SQL BEGIN WORK; /* Start a transaction. */
...
EXEC SQL UPDATE ... ; /* Change the database. */
...
if (strcmp(SQLSTATE, SQLSTATE_OK) == 0)
 EXEC SQL COMMIT WORK; /* Commit the changes. */
else
 EXEC SQL ROLLBACK WORK; /* Roll back the changes. */
COBOL Examples of ROLLBACK WORK
•
Start a transaction, execute an UPDATE statement, and test SQLSTATE. If the 
UPDATE is successful, the database changes are committed. Otherwise, the 
database changes are rolled back.
...
01 SQLSTATE_OK PIC X(5) VALUE "00000".
 EXEC SQL BEGIN DECLARE SECTION END-EXEC.
01 SQLSTATE PIC X(5).
 ... 
 EXEC SQL END DECLARE SECTION END-EXEC.
 ...
 EXEC SQL BEGIN WORK END-EXEC. 
 ...
 EXEC SQL UPDATE ... END-EXEC. 
 ...
 IF SQLSTATE = SQLSTATE_OK
 EXEC SQL COMMIT WORK END-EXEC. 
 ELSE
 EXEC SQL ROLLBACK WORK END-EXEC.
 END-IF. 










