Using transactions with SQL Operation
Using transactions in SQL is very usefull. Having the possibility to rollback in case an error occured is really interesting.
It is possible to use transactions easily in Stambia, with the SQL Operation process action.
This articles shows an example of how to do this in a process.
The SQL Operation Action
The use of transactions with SQL Operations is done through specific parameters.
The most commons are:
SQL Transaction Type |
Used to indicate the type of the transaction. Available types: COMMIT,NOCOMMIT,AUTOCOMMIT,AUTONOMOUS |
SQL Transaction Name | Name of the transaction |
To do multiple operations using the same transaction, the same SQL Transaction Name
has to be put on each of the actions.
By default the actions have AUTOCOMMIT
type. More informations on the types can be found in the Designer's help.
Example
Here is a little example in which we want to do some operations, and rollback everything if an error occured, or commit otherwise.
Process overview:
All the actions are on same transaction: T1
.
The three first ones are using NOCOMMIT
Transaction Type.
The last one uses the COMMIT
type, in order to send a commit after the action.
With this settings, all the actions will be executed within the same JDBC Connection without doing any commit, except the last one.
So, if everything worked during the process, the last action is executed and the commit done.
But if an error occured, the process will end with errors and stop, the Commit action will then not be executed, so no commit will be performed.
In case of a process ending with errors, the runtime is doing automatically a rollback. As all the other actions here have NOCOMMIT type, the last commit on which the rollback will be done is before the execution.
Example of execution:
Here one of the actions failed. A rollback will be executed, and the operations performed by the two successfull one's will not be saved.