powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / execute immediate inside begin...end block
2 сообщений из 2, страница 1 из 1
execute immediate inside begin...end block
    #40018710
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть блок begin ...end

BEGIN
execute immediate 'ALTER TABLE p1 RENAME to p1_tmp;
execute immediate 'Create table p1 () partition py range (rep_date)';
execute immeidate 'Insert /*+ append */ into p1 ()Select * from p1_tmp';
execute immedita 'Drop table p1_tmp';
END;

Нужен ли комит после execute immeidate 'Insert /*+ append */ into p1 ()Select * from p1_tmp';?

И как сделать так чтобы если хотя бы одно выражение execute immediate не выполнилось то остальные execute immediate откатились обратно
Например если exec 1 выполнился успешно, а exec 2 не выполнился , то нужно сделать откат exec 1
...
Рейтинг: 0 / 0
execute immediate inside begin...end block
    #40018721
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstu,

Перепутали форумную ветку? В Oracle DDL откату не подлежит. Хотите откатить alter - пишите обратный.

А вообще, озвучьте версию Oracle и что вы пытаетесь сделать. Навскидку, либо alter table .. partition by .., либо dbms_redifinition
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / execute immediate inside begin...end block
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]