plsq小案例

    技术2022-06-23  70

    ①简单没有定义部分

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

     你的编号输入有误!


    最新回复(0)