nobody165 2010-03-11 11:37
浏览 273
已采纳

jdbc的Statement的事务问题

jdbc的Statement的事务问题,

  Statement 对insert,delete,update等sql语句能进行事务提交,能回滚.也就是conn.setAutoCommit(false);能起作用.

  但是对于grant/revoke等语句却不能回滚.

  如:
String sqlIn1 = "insert into test1 values(1)";//正确语句,
String sqlIn1 = "insert into test1 values(1,1)";//错误语句
String sqlIn1 = "insert into test2 values(1)";//正确语句
String sqlIn2 = "insert into test2 values(2,22)";//错误语句
           事务回滚成功.   

String sql1 = "create user aaa identified by root";
String sql2 = "grant select on proxy_users to dddddd";//假设数据库无dddddd用户此处
             ORA-01917: 用户或作用'DDDDDD'不存在

                     事务回滚失败,sql1成功执行,数据库增加aaa用户.

不知道是否有人能指点一二?   

  • 写回答

3条回答 默认 最新

  • xhwwy 2010-03-11 13:30
    关注

    一般的数据库中只有DML支持事务操作,所以能够回滚。DDL是不支持事务操作的。
    但是也有数据库可以支持DDL事务,这样DDL也能回滚了,要查看具体的数据库文档。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源