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

VS Code Oracle开发工具关闭自动提交仍提交事务问题咨询

问题解答

这确实是VS Code中Oracle开发工具(如官方的Oracle Developer Tools for VS Code)的预期行为,和Toad的事务处理逻辑存在差异,具体细节如下:

  • 核心差异:ODT for VS Code默认会在成功执行以/结尾的匿名PL/SQL块后自动提交事务,即便你已经关闭了autocommit设置。而Toad严格遵循autocommit开关,只有手动执行COMMIT或代码中显式写COMMIT时才会提交事务。
  • 验证方式:执行完你的示例PL/SQL块后,直接查询jobs表,若记录已被永久删除(回滚后无法恢复),说明工具已自动提交了事务。
  • 调整方法:
    1. 打开VS Code设置,搜索Oracle: Auto Commit,确认其值为off;
    2. 若存在Oracle: Execute PL/SQL With Commit选项,将其设置为false,即可禁用PL/SQL块的自动提交行为。
  • 替代方案:如果不想依赖工具设置,可在代码中显式控制事务,不依赖工具自动提交:
    BEGIN
        DELETE FROM jobs
        WHERE j_id = 9;
        -- 此处不添加COMMIT,后续手动执行COMMIT/ROLLBACK控制事务
    END;
    /
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:34:56