Нужно ли использовать COMMIT при чередовании DDL и DML?

В 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 (которые автоматически фиксируются). Я сомневаюсь: мне нужно фиксировать DML перед каждым DDL, или безопасно сделать один большой коммит в конце моего сценария?

1 ответ

Решение

Посмотреть здесь.

http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:7072180788422

https://community.oracle.com/message/10310617

Каждый оператор DDL будет фиксировать все предыдущие незафиксированные операторы DML.

Другие вопросы по тегам