Какие DDL инструкции в Oracle не транзакционны ?
Да вроде бы как все транзакционны. Только своеобразно - Oracle неявно добавляет commit непосредственно перед и сразу после каждого DDL:
begin
commit;
do the ddl;
commit;
exception
when others then rollback;
raise;
end;
Смысл в том что делается модуль обновления БД для одной софтины. Каждая версия обновления - это sql скрипт, запускаемый в транзакции. Сам скрип содержит кучу create table... alter table... insert и т.д. Если будет сбой то нужно откатиться назад (на всякий случай есть бекап). В SQL Server нормально работает... Но грамотные люди сказали, что с ораклом могут быть проблемы (хотя мне вериться в это с трудом).
Да вроде бы как все транзакционны. Только своеобразно - Oracle неявно добавляет commit непосредственно перед и сразу после каждого DDL:А если запустить несколько ddl во внешней транзакции ?
Оставить комментарий
xz_post
Есть ли где полный список команд DDL в Oracle, которые не транзакционны ?