【发布时间】:2014-02-01 01:23:23
【问题描述】:
在 Oracle 中,我正在调用以下查询(不是来自 sqlplus)作为安装脚本的一部分:
ALTER TABLE MYTABLE DISABLE CONSTRAINT PFTATTRS_ATTR_FK;
INSERT INTO MYTABLE (PTF_ID, ATTR_ID) VALUES (1, 5);
ALTER TABLE MYTABLE ENABLE CONSTRAINT PFTATTRS_ATTR_FK;
如您所见,我将 DML(需要 COMMIT)与 DDL(自动提交)交错。 我的疑问是:我是否需要在每个 DDL 之前提交 DML,或者在我的脚本末尾进行一次大提交是否安全?
【问题讨论】:
-
在 ddl 之前提交仍然更干净,它也使代码的意图更加明显。额外提交的成本很小。通常需要额外的往返,甚至可以避免。
标签: oracle transactions commit ddl dml