①简单没有定义部分
set serveroutput on--打开输出选项
begin
dbms_output.put_line('hello');
end;
Dbms_output是oracle提供的包,此包包含的一些过程,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时,输出:
你的编号输入有误!