小编use*_*382的帖子

发生错误时退出执行 PL/SQL

我想知道,发生错误时如何退出执行。在 Microsoft SQL Server 中,有一个RETURN子句可以完成这项工作。但我想知道 Oracle 中的类似功能。我正在使用 Oracle Sql Developer。这是我正在使用的脚本:

由于唯一键违规,第一个块抛出错误,即使它抛出错误,执行也会转到下一个块并执行插入语句。我想在第一个代码块本身结束执行或退出。请帮我写代码。

第一个匿名 PL/SQL 块:

set serveroutput on;

BEGIN 
  insert into test values(1);
  insert into test values(1);
  COMMIT;  

  dbms_output.put_line('PRINT SOMETHING 1'); 

EXCEPTION
   WHEN OTHERS THEN
     if sqlcode <> 0
     then
        dbms_output.put_line(SQLCODE || '  ' || SQLERRM);
        RAISE; 
     end if;
     return;
END;
/ 
Run Code Online (Sandbox Code Playgroud)

第二个匿名 PL/SQL 块:

set serveroutput on;

BEGIN 
  insert into test values(6);
  COMMIT;  

  dbms_output.put_line('PRINT SOMETHING'); 

EXCEPTION
   WHEN OTHERS THEN
     if sqlcode <> 0
     then
        dbms_output.put_line(SQLCODE || '  ' …
Run Code Online (Sandbox Code Playgroud)

oracle execution

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

execution ×1

oracle ×1