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

Oracle中使用sqlplus执行DDL脚本为何需在每条语句后加COMMIT?

Oracle DDL脚本在SQL Developer与SQL*Plus中的执行差异

Oracle官方文档明确说明,DDL语句无需手动执行COMMIT操作。

在SQL Developer中,执行以下DDL语句无需提交即可成功创建对象:

CREATE TABLE dummy_table(ID NUMBER(38,0) NOT NULL PRIMARY KEY);
CREATE SEQUENCE dummy_seq START WITH 1 INCREMENT BY 1 NOCACHE;

但使用SQL*Plus执行该脚本时,尽管日志提示表和序列已创建,实际数据库中却并未生成对应对象。即使在脚本末尾添加COMMIT仍无效果,只有在每条DDL语句后单独添加COMMIT,才能成功创建对象。

执行脚本所用的SQL*Plus命令如下:

sqlplus USER/"PASSWORD"@DATABASE @ /path/to/script.sql

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:52:43