没有trans,怎么可以rollback呢? sqlserver里面这样写的: trans insert..... update... if @error>0 then rollback else commit end if
Oracle不用. commit或rollback 至上一个commit或rollback点.
Tran = objConnection.BeginTransaction() dim strsql="your sql" try objCommand = New oracleDb.oracleDbCommand(strsql, objConnection) objCommand.Transaction = Tran objCommand.ExecuteNonQuery() Tran.Commit() Catch ex As Exception Tran.Rollback() Finally If (objConnection.State = ConnectionState.Open) Then objConnection.Close() End Try
刚才少了定义Dim Tran As oracleDb.oracleDbTransaction
begin insert into ... update ... delete from .. commit; exception when others then rollback; end; /
sqlserver里面这样写的:
trans
insert.....
update...
if @error>0 then
rollback
else
commit
end if
commit或rollback 至上一个commit或rollback点.
dim strsql="your sql"
try
objCommand = New oracleDb.oracleDbCommand(strsql, objConnection)
objCommand.Transaction = Tran
objCommand.ExecuteNonQuery()
Tran.Commit()
Catch ex As Exception
Tran.Rollback()
Finally
If (objConnection.State = ConnectionState.Open) Then objConnection.Close()
End Try
insert into ...
update ...
delete from ..
commit;
exception
when others then
rollback;
end;
/