天天看点

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