Сценарий вставки Oracle с условием - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть скрипт вставки SQL, как показано ниже

insert into table......from table2.;

drop table2.....;
drop table3....;

commit;

возможно ли выполнить условие "вставка" должно быть успешным, прежде чем продолжить с "отбрасывать table2 и table3" в oracle?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Если вы работаете в SQLplus:

WHENEVER SQLERROR EXIT SQL.SQLCODE

Также обратите внимание, что операция фиксации является необязательной, поскольку операторы DDL (например, инструкции DROP) всегда будут фиксироваться перед обработкой.

0 голосов
/ 22 сентября 2011

В sqlplus вы можете указать «всякий раз, когда выход sqlerror». Таким образом, ваш скрипт прекратит работу после ошибки. В качестве альтернативы вы можете поместить свой код в блок plsql для большего контроля. Быстрый пример:

begin
   begin
      insert  ...
   exception
      when others then 
         dbms_output.put_line(sqlerrm);   -- print the error
         rais application_error(-20000,'Error in insert statement');
   end;

   drop 1
   drop 2
end;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...