站点图标 IDC铺

oracle PL/SQL编程基础知识详解

在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高。pl/sql让sql也能执行判断,循环等操作。主要记录一下pl/sql的基本语法和基本条件判断语句和循环语句供忘记了方便查阅。

1.pl/SQL的语法结构:

declare

//这部分用于声明变量

begin

//这部分用于处理业务逻辑

exception

//这部分用于处理例外也就是异常情况

end;

例如:

declare
uname varchar2(10);
hello varchar2(10) := ‘helloworld’; –为变量赋值
vsal emp.sal%type; –声明一个引用类型的变量
pall emp%rowtype; –声明一个记录类型的变量
digit number:=#—提示用户输入,然后根据用户输入执行相应的操作


begin
dbms_output.put_line(hello);
exception
when exception_name then

//操作
end;

2.)pl/sql的条件判断语句

if 条件 then

语句;

elsif 条件then

语句;

else

语句;

end if;

例如:根据输入的年龄判断是处于哪个阶段的人

        declare
age number := #
begin
if age < 18 then
dbms_output.put_line(‘你还是未成年人’);//表示系统输出语句,类似于system.out.print();
elsif age > 18 and age <= 40 then
dbms_output.put_line(‘你是青年人’);
else
dbms_output.put_line(‘你是中年人!’);
end if;
end;

3.)pl/sql的循环语句

在pl/SQL中有三种循环结构。

3.1)while 条件 loop

语句块;

end loop;

例如:循环输出1-10的数。

declare
step number := 1;
begin
while step <= 10 loop
dbms_output.put_line(step);
step := step + 1;
end loop;
end;

3.2)loop 循环语句

loop

exit when 退出条件;

语句块;

end loop;

例如:输出1-9的数。

declare
step number := 1;
begin
loop
exit when step > 10;–当step>10退出循环
dbms_output.put_line(step || ‘ ‘);
step := step + 1;
end loop;
end;

3.3)for语句循环结构

for 循环变量 in n..N loop

语句块;

end loop;

例如:输出1-10之间的数。

declare
begin
for step in 1.. 10 loop
dbms_output.put_line(step);
end loop;
end;

案例1–使用PLSQL输出菱形
declare
m number := 10;
begin
for x in -m..m loop
for y in -m..m loop
if abs(y) + abs(x) <= m then
dbms_output.put(‘*’);
else
dbms_output.put(‘ ‘);
end if;
end loop;
dbms_output.new_line();
end loop;
end;

案例2–使用PLSQL输出三角形。
declare
m number := 10;
begin
for x in reverse -m..m loop
for y in -m..m loop
if abs(y) + abs(x) <= m and x>=0 then
dbms_output.put(‘*’);
else
dbms_output.put(‘ ‘);
end if;
end loop;
dbms_output.new_line();
end loop;
end;

以上就是pl/sql的基本语法以及基本的条件和循环结构。

退出移动版