You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle云自治数据库的SQL Developer Web中禁用自动提交

Oracle SQL Developer Web禁用自动提交及rollback失效问题解决方法

问题根本原因

SQL Developer Web的前端配置项默认开启了自动提交,优先级高于set autocommit off语句配置,工具会在每次执行单条DML语句后自动触发隐式提交,导致后续执行的rollback命令没有可回滚的未提交事务。

正确禁用自动提交操作步骤

  • 进入SQL Developer Web工作页面,点击页面右上角的齿轮状设置图标
  • 在弹出的设置侧边栏中,展开左侧数据库分类,选择工作表子项
  • 找到右侧配置项中的「自动提交」复选框,取消勾选
  • 点击保存按钮确认配置修改,关闭当前所有已打开的工作表标签,重新打开新的工作表后配置才会生效

配置生效验证方法

按测试流程验证即可:

  1. 向空表插入测试数据:insert into t_test values('测试内容');
  2. 查询确认数据存在:select * from t_test;
  3. 执行回滚命令:rollback;
  4. 再次查询表数据,若数据已清空代表自动提交已成功禁用

注意事项

DDL语句(create、alter、drop、truncate等)执行时Oracle会默认触发全局隐式提交,这类操作产生的数据变动无论是否开启自动提交都无法通过rollback回滚。
若仅需要临时关闭单会话的自动提交,可在新打开的工作表最开始执行BEGIN DBMS_APPLICATION_INFO.SET_CLIENT_INFO('DISABLE_AUTOCOMMIT'); END;,该配置仅对当前工作表会话生效。

内容的提问来源于stack exchange,提问作者Lev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 06:45:03