oracle - 如何捕获 Oracle 异常 "ORA-06535: statement string in OPEN is NULL or 0 length"?

标签 oracle plsql

我想捕获异常“ORA-06535:OPEN 中的语句字符串为 NULL 或 0 长度”的特定异常

但无法找出它的确切“异常名称”。 请注意,我不想在其他通用异常 block 下捕获它。

EXCEPTION
   WHEN <exception_name1> 
   THEN 
      executable_statements;
   WHEN <exception_nameN> 
   THEN
      executable_statements;

   WHEN OTHERS 
   THEN
      executable_statements;
END;

最佳答案

一些异常的名称如“TOO_MANY_ROWS”。但是,大多数 oracle 异常都没有名称。所以如果你想困住他们中的任何一个,你需要给他们起名字。

对于你的异常(exception)情况,你可以这样做:

DECLARE  
....  
NULL_STRING EXCEPTION;
PRAGMA
EXCEPTION_INIT(NULL_STRING, -06535);
....
Begin

......
EXCEPTION
WHEN NULL_STRING THEN
     executable_statements;
     ..... 
END;

关于oracle - 如何捕获 Oracle 异常 "ORA-06535: statement string in OPEN is NULL or 0 length"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30840412/

相关文章:

plsql - 从 pl/sql 检查环境变量

sql - 如何在 Oracle 中的字符串中查找精确的字符串匹配

c# - ORA-1461 与托管 ODP.Net

正则表达式仅当字符串不存在时才匹配字符串

oracle - ORA-28001 : The password has expired

oracle - Oracle CAST 到 NVARCHAR2 上的奇怪行为

sql - SP2-0552 : Bind Variable "NEW" is not declared

python - 无法与 CX-Oracle 一起使用

用于复杂逻辑的 SQL 查询 (pl/sql)

oracle - PL/SQL 查询 IN 逗号分隔字符串