现在的位置: 首页 > 综合 > 正文

plsq小案例

2013年10月02日 ⁄ 综合 ⁄ 共 961字 ⁄ 字号 评论关闭

①简单没有定义部分

set
serveroutput
on--打开输出选项

begin

 
dbms_output.put_line(
'hello');

end;

Dbms_outputoracle提供的包,此包包含的一些过程,put_line就是一个dbms_output包的过程。

 

②有定义和执行部分的块

declare

 v_ename
varchar2(5);

begin

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

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

end;

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

雇员名:SCOTT

 

SQL> declare

 
2   v_first varchar2(10);

 
3   v_last varchar2(10);

 
4  begin

 
5    select first_name,last_name into v_first,v_last from customers where customer_id=&no;

 
6    dbms_output.put_line('
顾客名:'||v_first||' '||v_last);

 
7  end;

 
8  /

顾客名:Doreen Blue

 

③添加异常处理的块

比如2实例中,如果输入了不存在的编号,就应当做异常处理。

Oracle事先预定义了一些例外,no_data_found就是找不到数据的例外。

SQL> declare

 
2  --
定义部分

 
3   v_first varchar2(10);

 
4   v_last varchar2(10);

 
5  begin

 
6    --
执行部分

 
7    select first_name,last_name into v_first,v_last from customers where customer_id=&no;

 
8    dbms_output.put_line('
顾客名:'||v_first||' '||v_last);

  9   
--
异常部分

 10   
exception

 11     
when no_data_found then

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

 13 
end;

 14 
/

 当输入11时,输出:

 你的编号输入有误!

抱歉!评论已关闭.