首页 > 代码库 > PL-SQL编程基础(2)

PL-SQL编程基础(2)

一、控制语句

1、if语句

语法:

IF <布尔表达式> THEN

  PL/SQL和SQL语句

END IF;

示例:

DECLARE   v_count NUMBER := &n;BEGIN  IF v_count > 0 THEN        DBMS_OUTPUT.put_line(正数);  END IF;END;

判断是否为正整数!

 

2、if...else...

语法

IF <布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSE

  其他语句

END IF;

示例:

DECLARE     v_count NUMBER := &n;BEGIN    IF v_count > 0 THEN        DBMS_OUTPUT.put_line(正数);    ELSE        DBMS_OUTPUT.put_line(负数);    END IF;END;            

判断是否为正数或者负数!

 

3、多重if...else...结构

语法:

IF <布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSIF <其他布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSIF <其他布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSE

  PL/SQL 和 SQL 语句

END IF;

示例:

DECLARE   v_count NUMBER := &n;BEGIN  IF v_count > 0 THEN        DBMS_OUTPUT.put_line(正数);  ELSIF v_count < 0 THEN        DBMS_OUTPUT.put_line(负数);  ELSE        DBMS_OUTPUT.put_line();  END IF;END;

 

4、CASE语句语法:

格式一:

CASE 条件表达式

  WHEN 条件表达式结果1 THEN

    语句段1

  WHEN 条件表达式结果2 THEN

    语句段

  ......

  WHEN 条件表达式结果n THEN

    语句段n

  [ELSE 语句段]

END CASE;

示例:根据输入1-7显示星期

DECLARE  v_week NUMBER := &S;BEGIN  CASE v_week    WHEN 1 THEN      DBMS_OUTPUT.PUT_LINE(星期一);    WHEN 2 THEN      DBMS_OUTPUT.PUT_LINE(星期二);    WHEN 3 THEN      DBMS_OUTPUT.PUT_LINE(星期三);    WHEN 4 THEN      DBMS_OUTPUT.PUT_LINE(星期四);    WHEN 5 THEN      DBMS_OUTPUT.PUT_LINE(星期五);    WHEN 6 THEN      DBMS_OUTPUT.PUT_LINE(星期六);    WHEN 7 THEN      DBMS_OUTPUT.PUT_LINE(星期日);    ELSE      DBMS_OUTPUT.PUT_LINE(输入错误);  END CASE;END;

 

 

格式二:

CASE 

  WHEN 条件表达式1 THEN

    语句段1

  WHEN 条件表达式2 THEN

    语句段

  ......

  WHEN 条件表达式n THEN

    语句段n

  [ELSE 语句段]

END CASE;

示例:根据分数输出A,B,C,D,E

DECLARE  V_SCORE NUMBER := &N;BEGIN  CASE    WHEN V_SCORE >= 90 THEN      DBMS_OUTPUT.PUT_LINE(A);    WHEN V_SCORE >= 80 THEN      DBMS_OUTPUT.PUT_LINE(B);    WHEN V_SCORE >= 70 THEN      DBMS_OUTPUT.PUT_LINE(C);    WHEN V_SCORE >= 60 THEN      DBMS_OUTPUT.PUT_LINE(D);    ELSE      DBMS_OUTPUT.PUT_LINE(E);  END CASE;END;

 

PL-SQL编程基础(2)