oracle 异常处理问题 求救

来源:百度知道 编辑:UC知道 时间:2024/05/16 23:42:48
set serveroutput on;
create or replace package g as
e exception;
end g;

declare
name employee.employeename%type;
begin

begin
select employeename into name from employee where employeeno='1968-0023';
if name is null then
raise g.e;
end if ;
end ;

exception
when g.e then
dbms_output.put_line('4');
end;
为什么得不到结果是4啊 ,结果是末找到数据. 提示:employee.employeeno中没有'1968-0023',我的目的是在employee中没找到'1968-0023'时,引发异常g.e并输出结果4 请问是什么原因啊,

我想是你的判断条件有错吧!
你可以用PL/SQL打开数据库,查询这条记录的employeename 是不是一个' ',
' '与null 是不同的两个概念.
如果是' '的话,应该把条件改为 if name=' ' then