編寫控制結構:順序結構,條件結構,循環結構
一。條件語句:
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