如何处理从CURSOR声明中提出的预期

时间:2016-05-22 06:22:30

标签: plsql

所以我在下面有一个程序接受一个日期作为IN参数。如果传入了错误类型的参数,则异常区域将无法捕获它,因为该参数在CURSOR声明部分中使用。

PROCEDURE ABC(p_date IN DATE)
IS
  CURSTOR cur
  IS 
    SELECT *
    FROM table
    WHERE table.date = TRUNC(p_date);
BEGIN
do something;
EXCEPTION
   WHEN OTHERS THEN
   do something;
END;

如果用户传递了错误的参数类型:

BEGIN
ABC(123);
END;

我在#ABC;'""'''''''''''''错误。

在这种情况下有没有办法处理这个错误?

1 个答案:

答案 0 :(得分:0)

Micklesh是对的。调用过程中的错误不是由被调用过程处理的,需要在调用过程中处理。