pl/sql 是结构化程序设计语言,块(block)是pl/sql 程序中最基本的结构,所有的pl/sql程序都是由块组成的。
pl/sql 由变量说明,程序代码,和异常处理代码3部分组成。
declare —–标记声明部分
begin ——标记程序体部分开始
exception ——标记异常处理部分开始
end; ——–标记程序体部分结束
pl/sql 示例
1>
set serveroutput on;
declare
empname varchar2(20);
begin
select emp_name into empname from cus_emp_basic where emp_no=00000027;
dbms_output.put_line(empname);
end ;
使用set serveroutput on 命令设置环境变量serveroutput为打开状态,从而使得pl/sql程序能够再sql*plus和sql*plus中输出结果
使用函数dbms_output.put_line()可以输出参数的值。
1>条件语句
set serveroutput on ;
declare
num integer :=3;
begin
if num< 0 then
dbms_output.put_line(负数);
elsif num > 0 then
dbms_output.put_line(正数);
else
dbms_output.put_line(0);
end if;
end;
2>
循环语句loop ……exit….end
set serveroutput on;
declare
num integer:=1;
v_sum integer:=0;
begin
loop
v_sum:=v_sum+num;
dbms_output.put_line(num);
if num=4 then
exit;
end if;
dbms_output.put_line(+);
num:=num+1;
end loop;
dbms_output.put_line(=);
dbms_output.put_line(v_sum);
end;
3>
循环语句 loop……exit when …end
set serveroutput on;
declare
v_num integer:=1;
v_sum integer:=0;
begin
loop
v_sum:=v_sum+v_num;
dbms_output.put_line(v_num);
exit when v_num=4;
dbms_output.put_line(+);
v_num:=v_num+1;
end loop;
dbms_output.put_line(=);
dbms_output.put_line(v_sum);
end;
4>
循环语句 while…loop…end loop
set serveroutput on ;
declare
v_num integer:=1;
v_sum integer:=0;
begin
while v_num <=4
loop
v_sum:=v_sum+v_num;
dbms_output.put_line(v_num);
if v_num <4 then
dbms_output.put_line(+);
end if;
v_num:=v_num+1;
end loop;
dbms_output.put_line(=);
dbms_output.put_line(v_sum);
end;
5>
循环语句for…in..loop….end loop
set serveroutput on;
declare
v_num integer;
v_sum integer:=0;
begin
for v_num in 1..4
loop
v_sum:=v_sum+v_num;
dbms_output.put_line(v_num);
if v_num< 4 then
dbms_output.put_line(+);
end if;
end loop;
dbms_output.put_line(=);
dbms_output.put_line(v_sum);
end;