-- 系统例外:no_data_found
set serveroutput on
declare
pename emp.ename%type;
begin
--查询员工号1234员工姓名
select ename into pename from emp where empno=1234;
-- 例外程序捕获,如果抛给数据库,可能导致数据库出错
exception
when no_data_found then dbms_output.put_line('没有找到数据');
when others then dbms_output.put_line('其他例外');
end;
/
No_data_found例外:表示一条select语句没有查询到数据时候就会产生这个例外。
举例:产生这个例外并进行捕获,输出提示。
例外的捕获:如果产生例外,就可以通过exception捕获例外。,至于何种例外,可以通过when来判断,then表示符合时执行的操作,如果有多个例外,可以定义多个when来进行捕获。如图
注意:在PL/SQL中要捕获所有的例外,不要往外抛,一旦往外抛,就意味着抛给了数据库,这样数据库可能会运行出错。所以这里可以通过在最后一个when后面使用others,表示除了上面的例外,其他的都会被该语句处理。
系统例外之 no_data_found
系统列外的使用demo
系统例外 no_date_found