【发布时间】:2014-06-25 09:49:26
【问题描述】:
我正在使用动态 PL/SQL(例如:EXECUTE IMMEDIATE)运行一个方法(方法名称由最终用户发送)。
当方法签名不匹配时,会引发错误ORA-06550(堆栈中也提到了PLS-00306)。
当方法签名与所需签名不匹配时,我需要引发自定义消息。
所以我在 PL/SQL 异常块中捕获 ORA-06550 并引发错误。只是注意到ORA-06550 会针对任何无效的 PL/SQL 代码(包括方法签名不匹配)提出
我的问题
- ORA 类型的消息和 PLS 类型的消息有什么区别。不能像捕获 ORA 类型的消息(例如:
ORA-06550)那样捕获 PLS 类型的消息(例如:PLS-00306)。如果可能怎么做? - 如果不可能,如何捕获签名不匹配? (除了对
USER_ARGUMENTS运行查询)
【问题讨论】:
标签: oracle dynamic plsql runtime-error