带有条件的Oracle插入脚本

时间:2011-09-22 06:07:19

标签: sql oracle

我有下面的SQL插件脚本

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

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

commit;

是否可以在oracle中继续“drop table2 and table3”之前执行条件“insert”必须成功?

2 个答案:

答案 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;
/