2014-01-03 5 views
1

Может ли какой-то орган помочь мне в автоматическом совершении нижеприведенных утверждений. Как я могу использовать оператор Commit в Oracle, чтобы избежать диалоговых окон подтверждения автоматической фиксации?Oracle AUTO COMMIT

TRUNCATE TABLE manual_list_backup; 

INSERT INTO manual_list_backup 
SELECT * 
FROM manual_transactions 

Выполнение вышеуказанного заявления в TOAD Data-point. Каждый раз, когда это заявление выполняется, я получаю окно диалога, в котором говорится, что

У вас есть незафиксированные изменения в «My schema Name». Вы хотите их совершить?

Если я говорю ДА В этом диалоговом окне выше заявление не будет производить никаких результатов

+5

Autocommit - это * клиент * особенность. Какой клиент вы используете? –

+0

Как правило, в большинстве (все?) Реляционных СУБД вы не можете использовать транзакции для статусов DDL, таких как «TRUNCATE TABLE». Кроме того, сервер Oracle, очевидно, не будет отображать диалоги - о какой программе ваш вопрос? –

+0

Я выполняю вышеуказанный оператор в точке данных TOAD. Каждый раз, когда выполняется это утверждение, я получаю окно диалога, в котором говорится, что «у вас есть незафиксированные изменения в« My schema Name ». Вы хотите их зафиксировать». Если я не скажу «ДА» этому диалоговому окну, приведенное выше утверждение не даст никаких результатов. – santhosha

ответ

2

». Каждый раз, когда это утверждение запустить я получаю окно диалога о том, что «У вас есть неподтвержденные изменения на «моей схеме Name'.Do вы хотите их совершения». "

Так что вы на самом деле жалуются является особенность TOAD. Потому что Oracle просто выполнит неявный COMMIT для любого оператора DDL. Ваша проблема в том, что TOAD вмешивается в поведение Oracle по умолчанию с его диалоговым окном chiding.

Этот тон няни является одной из причин, почему я так не люблю IDE. Они часто бывают скользкими и полезными, но иногда им просто нужно уйти в сторону и позволить нам продолжить работу.

Прошло много времени с тех пор, как я использовал TOAD (слишком дорого), но там должен быть способ отключить этот диалог. Есть ли флажок в диалоговом окне? Что-то вроде Всегда показывать это сообщение? В качестве альтернативы, может быть что-то в меню View | Toad Options, возможно, под Oracle | Transactions. Сложная среда IDE, такая как TOAD, настраивается.

+0

Большое спасибо. Как вы предположили, есть возможность включить автоматическую фиксацию.Это решило мою проблему сейчас. Еще раз спасибо за вашу поддержку. – santhosha

+0

Это принято сейчас. – santhosha

1

Вы не можете откатить TRUNCATE заявление.

Операцию нельзя отменить, и триггеры не будут запущены. Таким образом, TRUNCATE быстрее и не использует столько места отмены, сколько DELETE.

+0

Спасибо за ответ. Есть ли другой способ достичь этого? – santhosha

+1

@santhosha - Чтобы добиться чего? Хотите ли вы отменить заявление 'TRUNCATE TABLE'? Что мешает вам использовать DELETE? –

Смежные вопросы