编写控制结构:顺序结构,条件结构,循环结构
一。条件语句:
1。与delphi或者java,或者其他任何语言的条件语句基本一样咯:
单条件:
if condition then
......
end if;
双条件:
else
...
多条件:
...
elseif conditon then
....
举例:
declare
v_sal number ( 6 , 2 );
v_id number ;
begin
v_id: = ' &id ' ;
select salary into v_sal from employee
where id = v_id;
if v_sal < 4000 then
update employee set salary = (v_sal + 100 ) where id = v_id;
else
update employee set salary = (v_sal - 900 ) where id = v_id;
end if ;
end ;
二。case语句:
各种语言的switch ...case语句相同,只不过没有switch关键字。
1。使用单一选择符进行比较:
case selector
when expression1 then
;
when expression 2 then
end case;
2。多种条件比较:
case
when condition1 then
when condition2 then
when condition3 then
(三)循环语句:
3种循环:
1。基本循环,至少执行一次:
loop
statement1;
...
exit when 退出循环条件;
end loop1;
例如:
insert into employee(id,name) values (i, ' dennis ' );
i: = i + 1 ;
exit when i > 10 ;
end loop;
2。while循环:
while conditon1 loop
end loop;
比如上面的例子改写为:
while i <= 10 loop
insert into employee(id,name) values (i, ' dennis ' );
i: = i + 1 ;
3。for循环,类似于ruby的for循环:
for counter in [reverse] 下限..上限 loop
statement1;
...
reverse参数可选,有的话表示从上限往下限递减。
(四)顺序控制语句
pl/sql也提供了goto和null语句用于控制语句执行顺序,goto语句与java的机制相似,通过label来实现跳转,尽量不要使用。null语句不会执行任何操作,它的存在主要是为了提高程序的可读性。
文章转自庄周梦蝶 ,原文发布时间2007 2 11