我记得在SQL SERVER里面直接写SQL为begin transaction即开始事务,SQL语句commit和rollback分别表示提交和回滚。我现在用ODBC连接ORACLE,但是我运行begin transaction这个SQL语句时老是提示错误。
请问在ODBC中,通过什么SQL可以在ORACLE数据库中起一个事务操作?

解决方案 »

  1.   

    BEGIN TRANSACTION 以及 SET TRANSACTION都不行啊。
    我用的是ODBC跟ORACLE相连,通过发送SQL语句给ORACLE的。不知SQL语句怎么写。
      

  2.   

    BEGIN TRANSACTION 是SQL SERVER的写法
    在oracle中要用SET TRANSACTION
    把你传的sql贴出来吧
      

  3.   

    我的SQL就是set transaction啊
      

  4.   

    在ORACLE里直接有连接串,不需要SET TRANSACTION,在别的工具中连接的话根据工具的不同语法都有差异,比如PB里连接就用 SETTRANS()
      

  5.   

    请问zjw7789(随风) :
    直接连接串是什么意思?比如我有两个insert语句要执行,他们必须作为一个事务,即要么都成功要么都失败。那请问SQL语句该怎么写?
      

  6.   

    set transaction name 'yourname';
    insert...;
    insert...;
    commit;
      

  7.   

    楼上的代码可以设置transaction成功了,但是问题是我insert两个语句以后,我再发送rollback语句过去,可两个记录依然插入在数据库,好像没达到事务的功能啊。
    难道回滚不是rollback 语句?
      

  8.   

    是rollback,你是这样写的吗?
    set transaction name 'yourname';
    insert...;
    insert...;
    rollback;
    commit;
      

  9.   

    回滾和用哪種驅動連接數據庫有關嗎?我想應該沒有關系,oracle中顯示開起一個事務用set transaction沒錯