plsq小案例

①简单没有定义部分

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时,输出:

你的编号输入有误!

你可能感兴趣的:(ls)