我有下面的SQL插件脚本
insert into table......from table2.;
drop table2.....;
drop table3....;
commit;
是否可以在oracle中继续“drop table2 and table3”之前执行条件“insert”必须成功?
答案 0 :(得分:2)
如果您在SQLplus下运行:
WHENEVER SQLERROR EXIT SQL.SQLCODE
另请注意,提交操作是可选的,因为DDL语句(如DROP指令)将始终在处理之前提交。
答案 1 :(得分:0)
在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;
/