У меня есть скрипт вставки SQL, как показано ниже
insert into table......from table2.; drop table2.....; drop table3....; commit;
возможно ли выполнить условие "вставка" должно быть успешным, прежде чем продолжить с "отбрасывать table2 и table3" в oracle?
Если вы работаете в SQLplus:
WHENEVER SQLERROR EXIT SQL.SQLCODE
Также обратите внимание, что операция фиксации является необязательной, поскольку операторы DDL (например, инструкции DROP) всегда будут фиксироваться перед обработкой.
В 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; /