What you are actually looking to do is wrap them in a transaction. Fortunately for you, the
OracleConnection
class provides a
BeginTransaction method
(this returns an
OracleTransaction
). Simply call all your commands inside this connection, then call
Commit()
to save the changes if they execute successfully, or
Rollback
if one of the statement fails. A sample would look like this:
Public Sub RunCommands(connection As OracleConnectioncommands As List(Of OracleCommand))
Dim transaction As OracleTransaction
connection.Open()
transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted)
Try
For Each command As OracleCommand In commands
command.Connection = connection
command.ExecuteNonQuery
Next
transaction.Commit()
Catch e As Exception
transaction.Rollback()
Throw
End Try
End Sub