包里的存储过程如何调用该包内的自定义异常
大家好,我是菜鸟一枚,今天第一次来CSDN论坛发帖,大家多多关照哈
我定义的包:
create or replace package a as
procedure main
(p_course_name in number);
ex exception;
end;
包体:
create or replace package body a as
ex exception;
procedure main(p_course_name in number) as
ln_course_id number;
begin
select course_id into ln_course_id from table where course_name = p_course_name;
exception
when NO_DATA_FOUND then
raise ex;
end main;
end;
我在RAISE EX的时候出错,这是为嘛,异常不定义在过程里如何解决啊?
exception
------解决方案--------------------定义例外的语法不对
一 先定义例外
EXC_ERROR EXCEPTION;
二 再写例外的触发条件
IF II_DATE IS NULL THEN
VI_ERR_CODE := -1;
VV_ERR_MSG := '没有输入统计月份参数';
RAISE EXC_ERROR;
END IF;
三 最后定义例外是什么
WHEN EXC_RETURN THEN
SP_114_SYS_LOG(VI_TASK_ID,NULL,NULL,NULL,0,NULL,VV_TASK_POS,VI_RESULT);
OI_RETURN := 0;