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

如何在Oracle Apex中禁用自动提交?实现按需提交INSERT操作

Oracle Apex实现INSERT后提交/不提交的按钮配置

可以实现这个需求,不需要全局禁用自动提交,针对两个按钮分别配置即可,具体步骤如下:

1. 带COMMIT的按钮配置

  • 将按钮类型设置为提交页面
  • 这种按钮默认会在执行完关联的PL/SQL操作后自动触发COMMIT;如果你的PL/SQL代码里已经手动添加了COMMIT;语句(如你提供的第一张图所示),也可以正常工作,不会冲突。

2. 不带COMMIT的按钮配置

有两种常用方式:

方式一:修改提交按钮的提交属性

  • 按钮类型仍设为提交页面
  • 在按钮的「提交处理」属性中,将「提交后操作」设置为不提交(对应Apex界面中的“Do Not Commit”选项)
  • 此时执行完INSERT操作后,事务会保持未提交状态,不会自动COMMIT。

方式二:使用PL/SQL动态内容按钮

  • 将按钮类型设置为PL/SQL动态内容
  • 在按钮的PL/SQL代码区域编写INSERT语句(如你提供的第二张图所示,无需添加COMMIT;)
  • 这种按钮类型默认不会触发Apex的自动提交机制,执行完INSERT后事务处于未提交状态。

注意事项

  • 未提交的事务仅在当前会话有效,若用户关闭浏览器、会话超时或执行ROLLBACK操作,未提交的INSERT数据会丢失。
  • 不建议全局禁用应用程序的自动提交(在应用程序属性中设置),这会影响其他页面的正常提交行为,针对单个按钮配置更灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:15:00