天天看點

PL/SQL學習筆記(五)

編寫控制結構:順序結構,條件結構,循環結構

一。條件語句:

1。與delphi或者java,或者其他任何語言的條件語句基本一樣咯:

單條件:

if condition then

  ......

end if;

雙條件:

else

  ...

多條件:

   ...

elseif conditon then

   ....

舉例:

PL/SQL學習筆記(五)

declare

PL/SQL學習筆記(五)

  v_sal  number ( 6 , 2 );

PL/SQL學習筆記(五)

  v_id  number ;

PL/SQL學習筆記(五)

begin

PL/SQL學習筆記(五)

  v_id: = ' &id ' ;

PL/SQL學習筆記(五)

   select  salary  into  v_sal  from  employee

PL/SQL學習筆記(五)

   where  id = v_id;

PL/SQL學習筆記(五)

   if  v_sal < 4000   then

PL/SQL學習筆記(五)

      update  employee  set  salary = (v_sal + 100 )  where  id = v_id;

PL/SQL學習筆記(五)

   else

PL/SQL學習筆記(五)

      update  employee  set  salary = (v_sal - 900 )  where  id = v_id;

PL/SQL學習筆記(五)

   end   if ;

PL/SQL學習筆記(五)

end ;

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

二。case語句:

各種語言的switch ...case語句相同,隻不過沒有switch關鍵字。

1。使用單一選擇符進行比較:

PL/SQL學習筆記(五)

case  selector

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   when  expression1  then  

PL/SQL學習筆記(五)

;

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   when  expression  2   then  

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

end case;

2。多種條件比較:

PL/SQL學習筆記(五)

case

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   when  condition1  then  

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   when  condition2  then  

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   when  condition3  then  

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

(三)循環語句:

3種循環:

1。基本循環,至少執行一次:

loop

   statement1;

   ...

   exit when 退出循環條件;

end loop1;

例如:

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   insert   into  employee(id,name)  values (i, ' dennis ' );

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

  i: = i + 1 ;

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   exit   when  i > 10 ;

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

end  loop;

PL/SQL學習筆記(五)

2。while循環:

while conditon1 loop

end loop;

比如上面的例子改寫為:

PL/SQL學習筆記(五)

while  i <= 10  loop

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

    insert   into  employee(id,name)  values (i, ' dennis ' ); 

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

   i: = i + 1 ;

PL/SQL學習筆記(五)
PL/SQL學習筆記(五)
PL/SQL學習筆記(五)

3。for循環,類似于ruby的for循環:

for counter in [reverse] 下限..上限 loop

  statement1;

  ...

reverse參數可選,有的話表示從上限往下限遞減。

(四)順序控制語句

pl/sql也提供了goto和null語句用于控制語句執行順序,goto語句與java的機制相似,通過label來實作跳轉,盡量不要使用。null語句不會執行任何操作,它的存在主要是為了提高程式的可讀性。 

文章轉自莊周夢蝶  ,原文釋出時間2007 2 11