commit 或者rollback;begin
  insert into a values(...);
  commit;
  update a set f1 = 99;
  rollback;
end;

解决方案 »

  1.   

    没有trans,怎么可以rollback呢?
    sqlserver里面这样写的:
    trans
      insert.....
      update...
    if @error>0 then
      rollback
    else
      commit
    end if
      

  2.   

    Oracle不用.
    commit或rollback 至上一个commit或rollback点.
      

  3.   

    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
      

  4.   

    刚才少了定义Dim Tran As oracleDb.oracleDbTransaction
      

  5.   

    begin
    insert into ...
    update ...
    delete from ..
    commit;
    exception
    when others then
    rollback;
    end;
    /
      

  6.   

    beckhambobo,前面不需要加上类似sqlserver 的trans吗?
      

  7.   

    zhuyaowei,我说的不是在程序里面实现,而是在oracel存储过程里面。