zoukankan      html  css  js  c++  java
  • Oracle基础 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;

     注意:一般用于区间判断的情况。

  • 相关阅读:
    SQLServer DBA 三十问
    sql server中的日期详解使用(convert)
    【转】对于表列数据类型选择的一点思考
    OLTP与OLAP
    Linux文件目录介绍及文件颜色区别
    [转贴]提问的智慧
    sql server作业管理查看/进程管理查看命令
    T-SQL中的十大注意事项
    正则表达式30分钟入门教程
    SQL中on条件与where条件的区别
  • 原文地址:https://www.cnblogs.com/zhengcheng/p/4170219.html
Copyright © 2011-2022 走看看