SQL/MX Programming Manual for Java
SQL/MX Programming Considerations
HP NonStop SQL/MX Programming Manual for Java—523726-003
4-42
Steps for Ensuring Data Consistency
Steps for Ensuring Data Consistency
Example 4-1 shows steps of coding transaction control statements in an SQLJ
program:
For more information, see:
1. Setting Attributes for Transactions on page 4-43
2. Starting a Transaction on page 4-46
3. Processing Database Changes on page 4-46
4. Testing for Errors on page 4-46
5. Committing Database Changes if No Errors Occur on page 4-47
6. Undoing Database Changes if an Error Occurs on page 4-47
Example 4-1. Coding Transaction Control Statements in an SQLJ Program
...
/* Set attributes for transactions */
#sql {SET TRANSACTION AUTOCOMMIT OFF};
#sql {CONTROL QUERY DEFAULT ISOLATION_LEVEL
'READ COMMITTED'};
try {
#sql {BEGIN WORK}; /* Begin a transaction */
#sql {UPDATE...}; /* Process database changes */
#sql {INSERT...};
...
#sql {COMMIT WORK}; /* Commit database changes */
...
}
catch (SQLException se) { /* Catch SQL exceptions */
rollbackWork(); /* Invoke a method that rolls back
database changes */
System.out.println("SQL exception: " +
se.getMessage());
}
...
/* Method that rolls back database changes */
static void rollbackWork() {
try {
#sql {ROLLBACK WORK}; /* Roll back database changes */
System.out.println("Changes are rolled back.");
}
catch (SQLException se) {
System.out.println("Failure to roll back changes: " +
se.getMessage());
}
}
1
2
3
5
4
6