Oracle pl/sql判断语句和循环语句
首先先来穿插点小知识
1:属性类型:用于引用数据库列的数据类型,以及表示一行的记录类型
属性类型有以下两种:
%type 引用变量和数据库列的数据类型
%rowtype 提供表示表一行的记录类型
不理解?继续往下看
if的三种语句判断
语法一:这个和java的if语句相似,无非是then 和end if;变成了大括号:{}
if 条件 then
业务逻辑
end if;
语法二:这个和java的
if(条件){
------业务逻辑------
}else{
------业务逻辑------
}相似,
if 条件 then
业务逻辑
else
业务逻辑
end if;
语法三:这个和java的
if(条件){
------业务逻辑------
}else if(条件){
------业务逻辑------
}else{
------业务逻辑------
} 相似。注意是elsif不是elseif,特别让人容易犯错
if 条件 then
业务逻辑
elsif then
业务逻辑
else
业务逻辑
end if;
循环语句
无条件循环又叫loop循环,反正看你怎么叫吧!
以打印1-50个数做案列
declare
num number; --定义变量
begin
num:=1;--变量赋值
loop --开始循环,循环体写在 loop和end loop中
dbms_output.put_line(num);--输出
num:=num+1;
exit when num>50; --进行判断,结束循环,如果不判断结束将进入死循环
end loop;
end;
语法:
loop
exit when 条件表达式
执行语句;
end loop;
while循环
declare
num number:=1;
begin
while v_num<=50 --注意没有分号
loop
dbms_output.put_line(num);
num:= num+1;
end loop;
end;
语法:
while 循环条件
loop
执行语句
end loop;
for循环
自动声明,但只能用在loop和end loop之间,相当于局部变量,类似于java的for循环中的int i=0
begin
for num in 1..50
loop
dbms_output.put_line(num);
end loop;
end;
语法:
for 变量 in 起始值..结束值
loop
执行语句;
end loop;