ORACLE PL/SQL 基础
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;