В Oracle, я вызвав следующие querys (не из SQLPLUS) как часть сценария установки:Нужно ли мне COMMIT при перемежении DDL и DML?
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, (которые являются ауто- привержен). Я сомневаюсь, что мне нужно зафиксировать DML перед каждым DDL, или это безопасно сделать одну большую фиксацию в конце моего скрипта?
По-прежнему более чистым является фиксация перед ddl, и это также делает назначение кода значительно более очевидным. Стоимость этой дополнительной фиксации небольшая. Как правило, это дополнительный кругооборот и даже этого можно избежать. – steve