閱讀790 返回首頁    go 阿裏雲 go 技術社區[雲棲]


PL/SQL學習筆記(五)

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

一。條件語句:

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

單條件:

IF condition THEN

  ......

END IF;

雙條件:

IF condition THEN

  ......

ELSE

  ...

END IF;

多條件:

IF condition THEN

   ...

ELSEIF conditon THEN

   ....

ELSEIF conditon THEN

   ....

ELSE

   ....

END IF;

 

舉例:

None.gifDECLARE
None.gif  v_sal 
NUMBER ( 6 , 2 );
None.gif  v_id 
NUMBER ;
None.gif
BEGIN
None.gif  v_id:
= ' &id ' ;
None.gif  
SELECT  salary  into  v_sal  FROM  employee
None.gif  
WHERE  id = v_id;
None.gif  
IF  v_sal < 4000   THEN
None.gif     
update  employee  set  salary = (v_sal + 100 where  id = v_id;
None.gif  
ELSE
None.gif     
update  employee  set  salary = (v_sal - 900 where  id = v_id;
None.gif  
END   IF ;
None.gif
END ;
None.gif
None.gif


二。CASE語句:

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

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

 

None.gifCASE  selector
None.gif
None.gif  
WHEN  expression1  THEN  dot.gif;
None.gif
None.gif  
WHEN  expression  2   THEN  dot.gif;
None.gif
None.gif  dot.gif
None.gif

 

END CASE;

2。多種條件比較:

 

None.gifCASE
None.gif
None.gif  
WHEN  condition1  THEN  dot.gif;
None.gif
None.gif  
WHEN  condition2  THEN  dot.gif;
None.gif
None.gif  
WHEN  condition3  THEN  dot.gif;
None.gif
END CASE;
None.gif  dot.gif
None.gif

 

 

(三)循環語句:

3種循環:

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

LOOP

   statement1;

   ...

   EXIT WHEN 退出循環條件;

END LOOP1;

例如:

 

None.gifLOOP
None.gif
None.gif  
insert   into  employee(id,name)  values (i, ' dennis ' );
None.gif
None.gif  i:
= i + 1 ;
None.gif
None.gif  
EXIT   WHEN  i > 10 ;
None.gif
None.gif
END  LOOP;
None.gif

 

2。while循環:

WHILE conditon1 LOOP

   statement1;

   ...

END LOOP;

比如上麵的例子改寫為:

 

None.gifWHILE  i <= 10  LOOP
None.gif
None.gif   
insert   into  employee(id,name)  values (i, ' dennis ' ); 
None.gif
None.gif   i:
= i + 1 ;
None.gif
None.gif
END  LOOP;
None.gif

 

3。FOR循環,類似於ruby的FOR循環:

FOR counter IN [REVERSE] 下限..上限 LOOP

  statement1;

  ...

END LOOP;

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

 

(四)順序控製語句

PL/SQL也提供了GOTO和NULL語句用於控製語句執行順序,GOTO語句與JAVA的機製相似,通過label來實現跳轉,盡量不要使用。NULL語句不會執行任何操作,它的存在主要是為了提高程序的可讀性。 

文章轉自莊周夢蝶  ,原文發布時間2007 2 11


最後更新:2017-05-17 14:31:34

  上一篇:go  用戶對一個網站反感的原因是什麼?
  下一篇:go  阿裏新生的麵試經,與老人分享的職業進階攻略及規劃