zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

PL/SQL学习笔记(五)

2023-03-09 22:27:10 时间

编写控制结构:顺序结构,条件结构,循环结构

一。条件语句:

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