PLSQL学习笔记(五)

    xiaoxiao2024-01-19  160

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

    一。条件语句:

    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;

     

    举例:

    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  ; END CASE;  

     

     

    (三)循环语句:

    3种循环:

    1。基本循环,至少执行一次:

    LOOP

       statement1;

       ...

       EXIT WHEN 退出循环条件;

    END LOOP1;

    例如:

     

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

     

    2。while循环:

    WHILE conditon1 LOOP

       statement1;

       ...

    END LOOP;

    比如上面的例子改写为:

     

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

     

    3。FOR循环,类似于ruby的FOR循环:

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

      statement1;

      ...

    END LOOP;

    REVERSE参数可选,有的话表示从上限往下限递减。

     

    (四)顺序控制语句

    PL/SQL也提供了GOTO和NULL语句用于控制语句执行顺序,GOTO语句与JAVA的机制相似,通过label来实现跳转,尽量不要使用。NULL语句不会执行任何操作,它的存在主要是为了提高程序的可读性。 

    文章转自庄周梦蝶  ,原文发布时间2007 2 11

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)