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

 你的编号输入有误!

你可能感兴趣的:(oracle,sql,exception,output)