1、; 5 dbms_output.put_line(x的值为:|x); 6 end; 7 /PL/SQL 过程已成功完成。 set serveroutput on size 10000 l 1 6* end;This is. x varchar2(10):ABCDE y string(10):123 -x:|x|y的值为:|y); /* 8 9 dbms_output.put(10 */11* end; plsql_01ABCDEy的值为:1234.2分支语句 a number; b varchar2(10); a:=2; if a=1 then b:A elsif a=2 thenB else
2、11C12 end if;13b的值是:|b);14* end;B=53;C4.3循环语句 x number;=0; loop=x+1; if x=3 then exit;内:x= end loop;外:13* end;x=1x=2x=3 exit when x=3; while x=3 loop10* end;x=4 for i in 1.5 loopi=|i);end of for loop);i=1i=2i=3i=4i=5end of for loop for i in reverse 1.5 loop if x3 then goto repeat_loop;4.4异常处理 select
3、 ename into b from emp where empno = 1 dbms_output.put_line(b);declare*第 1 行出现错误:ORA-01403: 未找到数据ORA-06512: 在 line 4 exception when no_data_found then没有找到数据! 9* end; e exception;7369 if b张三 then raise e; when e then错误,不是 张三 !4.5记录 - 复合变量 type myrecord is record( id number, name varchar2(10); real_re
4、cord myrecord; select empno,ename into real_record from emp where empno=7566 dbms_output.put_line(real_record.id|,|real_record.name);7566,JONES id emp.empno%type, myrec emp%rowtype; select * into myrec from emp where empno= dbms_output.put_line(myrec.empno|myrec.ename|myrec.job);7566,JONES,MANAGER5.PL/SQL高级应用5.1 游标使用游标可以充分操纵表的每一行 cursor mycur is select * from books; myrecord books%rowtype; open mycur; fetch mycur into myrecord; while mycur%found loop dbms_output.pu