oracleday16

来源:互联网 发布:淘宝买东西怎么分期 编辑:程序博客网 时间:2024/06/06 12:48

oracle pl/sql 编程

包含定义部分 执行部分 和例外处理部分的块

比如输入了不存在的雇员号 应当做例外处理

declare

v_name varchar2(36);

begin

select ename into v_ename from emp where empno=110;

dbms_output.put_line('雇员名'||v_ename);

end;

/


declare 

v_ename varchar2(36);

begin select ename into v_ename from emp where empno=&empno;

dbms_output.put_line('雇员名'||v_ename);

exception

when no_data_found then

dbms_output.put_line('输入的编号有误');

end;

/


未找到数据

错误行数

如果我们输入的用户编号不存在 则系统会提示异常 为了更加明确的指出错误 

oracle提供了异常(Exception) 处理机制

exception

when no_data_found then

debms_output.put_line("朋友你输入的编号错误");

end;

/ //学习技术 出现问题 找解决方案 自然了解细节 

对该案例的细节说明

这里我们涉及到异常处理

异常的基本语句法


exception

when 异常名称 then

//对异常进行处理的代码

when 异常名称2 then

//对异常处理

end;

/


oracle 提供的异常 参考pl/sql 官方文档 http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/errors.htm#LNPLS00704

异常处理作用

1、可以给出捕获异常 并给出明确提示

2、有时可以利用异常 来进行业务处理

try{

//如果用户输入字串

int abc= Integer.parese(str);

}catch(Exception e){

//对不起你输入的字串不是一个数

}


& 表示要接受从控制台输入的变量

||表示把两个串拼接

declare 

v_ename varchar2(36);

begin 

select ename into v_enmae from emp where empno=&empno;

dbms_output.put_line('雇员名字'||v_ename);

exception

when no_data_found then

dbms_output.put_line('输入的编号有误 我帮你输入一条');

insert into emp(empno,ename) values(1,'呵呵');

end;

/  异常处理机制中也可以有语句对表进行处理





原创粉丝点击