`
jguangyou
  • 浏览: 375632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PL/SQL条件控制(二)

阅读更多

1.IF条件语句

     在PL/SQL语句块中,IF语句可以包含IF、ELSIF、ELSE、THEN、END IF等关键字,其完整的语法格式为:

     IF condition1 THEN

          …………;

    [ ELSIF condition2 THEN

          …………;]

     [ELSE

          …………;]

     END IF;

     其中,condition<n>是条件表达式,返回TRUE或者FALSE; 省略号是当符合某条件时要执行的语句。ELSIF子句可以有也可以没有,可以时一条也可以是多条。

    示例一:简单条件判断

DECLARE
      v_score BINARY_INTEGER:=99;
BEGIN
      IF v_score>=90 THEN 
            DBMS_OUTPUT.PUT_LINE('优秀');
      END IF;
END;

 

    示例二:二重条件分支

DECLARE
      v_score BINARY_INTEGER:=99;
BEGIN
      IF v_score>=90 THEN 
            DBMS_OUTPUT.PUT_LINE('优秀');
      ELSE
            DBMS_OUTPUT.PUT_LINE('一般般啦');
      END IF;
END;

 

   示例三:多重条件分支

DECLARE
      v_score BINARY_INTEGER:=99;
BEGIN
      IF v_score>=90 THEN 
            DBMS_OUTPUT.PUT_LINE('优秀');
      ELSIF v_score>=80 THEN
            DBMS_OUTPUT.PUT_LINE('良好');
      ELSIF v_score>=60 THEN
            DBMS_OUTPUT.PUT_LINE('及格');
      ELSE
            DBMS_OUTPUT.PUT_LINE('大笨蛋');
      END IF;
END;

 2.CASE语句

    在ORACLE9i之前,执行多重条件分支是使用IF完成的,从9i开始,不但可以是用IF,也可以使用CASE语句完成。从代码结构上来讲,CASE语句比IF语句具有更好的阅读性,更加简洁。所以,建议使用CASE。

     ORACLE中的CASE语句分为两种,一种是在CASE语句中使用单一选择符进行等值比较;一种是使用多种条件进行非等值比较。

    (1)在语句是使用单一选择符进行等值比较

          CASE selector

                     WHEN exp1 THEN statement1;

                     WHEN exp2 THEN statement2;

                     ...

                     WHEN expN THEN statementN;

                     [ELSE default_statement;]

         END CASE;

         示例:

DECLARE
     v_grade VARCHAR2(4)='良好';
BEGIN
     CASE v_grade
        WHEN '优秀' THEN 
              DBMS_OUTPUT_PUT_LINE('大于等于90分');
        WHEN '良好' THEN
              DBMS_OUTPUT_PUT_LINE('大于等于80分,小于90分');
        WHEN '及格' THEN
              DBMS_OUTPUT_PUT_LINE('大于等于60分,小于80');
        WHEN '不及格' THEN
              DBMS_OUTPUT_PUT_LINE('小于60分');
        ELSE
              DBMS_OUTPUT_PUT_LINE('此等级不对应任何分数);
      END CASE;
END;

    (2)在CASE语句中使用多种条件比较

        CASE

             WHEN condition1 THEN statements1;

             WHEN condition2 THEN statements2;

             ...

             WHEN conditionN THEN statementsN;

             [ELSE default_statements;]

       END CASE;

     示例:

DECLARE
     v_score BINARY_INTEGER:=61;
BEGIN
     CASE
          WHEN v_score>=90 THEN DBMS_OUTPUT_PUT_LINE('优秀');
          WHEN v_score>=80 THEN DBMS_OUTPUT_PUT_LINE('良好');
          WHEN v_score>=60 THEN DBMS_OUTPUT_PUT_LINE('及格');
          ELSE  DBMS_OUTPUT_PUT_LINE('不及格');
     END CASE;
END;

 3:循环语句:主要包括LOOP循环、WHILE循环和FOR循环

    (1)LOOP循环

            格式:

              LOOP

                   statesments;

                   EXIT [WHEN condition];

              END LOOP;         

         示例:

DECLARE
     i INT:=1;
BEGIN
     LOOP 
         INSERT INTO temp VALUES(i);
         EXIT WHEN i=10;
         i:=i+1;
     END LOOP;
END;

 

 (2)WHILE循环

         格式:

         WHILE condition

              LOOP

                statement1;

                statement2;

                 ...

              END LOOP;

     示例:

DECLARE
     i INT:=1;
BEGIN
     WHILE i<=10
         LOOP
             INSERT INTO temp VALUES(i);
             i:=i+1;
        END LOOP;
END;

 (3)FOR循环

     格式:

      FOR counter IN [REVERSE] lower_bound..upper_bound

      LOOP

           statement1;

           statement2;

            ...

      END LOOP;

     示例:

BEGIN
    FOR i IN REVERSE 1..10 
    LOOP
          INSERT INTO temp VALUES(i);
    END LOOP;

 

分享到:
评论

相关推荐

    pl/sql最新中文手册

    PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...

    一个对数据库的操作工具PL/SQLpl/sqL工具

    1. **编程能力**:PL/SQL允许编写包含控制结构(如循环、条件语句)和异常处理的程序块,这些块可以存储在数据库中并按需调用,提高了数据库应用的灵活性和复杂性。 2. **数据处理**:通过PL/SQL,用户可以直接对...

    Oracle PL/SQL实战(待续)

    在Oracle数据库中,PL/SQL提供了丰富的控制结构,如循环、条件判断,以及异常处理机制,使得开发者能够编写复杂的业务逻辑。例如,`IF...THEN...ELSIF...ELSE`语句用于实现条件分支,`WHILE`和`FOR`循环则可以处理...

    Oracle PL/SQL程序设计(第5版)(上下册)

    #### 二、PL/SQL程序结构 - **块结构**:PL/SQL程序通常被组织成块,每个块由声明部分、执行部分和异常处理部分组成。 - **子程序**:包括存储过程和函数。这些子程序可以被其他PL/SQL代码调用,实现代码复用和模块...

    oracle pl/sql从入门到精通 配套源代码

    PL/SQL支持变量、常量、条件语句(如IF-THEN-ELSIF-ELSE)、循环(如FOR、WHILE)、异常处理(如EXCEPTION)等基本编程元素。 在Oracle PL/SQL中,我们可以通过使用SQL语句来与数据库进行交互,例如SELECT用于查询...

    PL/SQL 基本知识

    首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询,进行数据的增删改查操作。通过使用PL/SQL,数据库管理员和开发者可以更高效地管理和维护数据库...

    PL/SQL下载

    2. **过程化**:除了SQL查询,还支持流程控制语句、循环、条件判断等过程编程元素。 3. **异常处理**:内置异常处理机制,能够捕获并处理运行时错误,增加程序的健壮性。 4. **块结构**:PL/SQL代码以块为单位,包括...

    Oracle PL/SQL实例编程(PL/SQL经典书籍)

    执行部分包含了SQL语句和流程控制结构,如循环、条件判断等;异常处理部分则用于捕获和处理运行时错误。 2. **变量和数据类型**:PL/SQL支持多种数据类型,包括数值型(NUMBER、BINARY_INTEGER、PLS_INTEGER)、...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    1. **PL/SQL基础**:涵盖PL/SQL的基本语法,包括变量声明、常量定义、条件语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE, FOR)、异常处理(BEGIN-EXCEPTION-END)以及子程序(PROCEDURE和FUNCTION)的创建与调用。...

    pl/sql学习笔记

    条件控制语句如IF-THEN-ELSIF-ELSE和CASE语句允许根据条件执行不同的代码路径。这使得在处理数据时能够进行条件判断和分支操作。 7. **PROCEDURE** PROCEDURE是PL/SQL中的过程,是一组相关的PL/SQL语句,可以接受...

    Oracle PL/SQL学习官方教材

    2. **流程控制**:PL/SQL提供了多种流程控制结构,如条件语句(IF-THEN-ELSIF-ELSE)、循环(WHILE、FOR、LOOP)、CASE表达式,以及异常处理(EXCEPTION)。这些结构使得程序可以根据不同条件执行不同的代码段。 3....

    非常好用的PL/SQL

    PL/SQL将SQL语句嵌入到一系列的控制结构中,如循环、条件判断等,从而形成了一个强大的数据库编程环境。 标题中提到的"非常好用的PL/SQL",可能是指PL/SQL Developer这款软件。PL/SQL Developer是一款专为Oracle...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    探讨了数据类型、条件控制语句和顺序控制语句、循环、异常处理、安全特性、全球化和本地化问题, 以及PL/SQL架构。 ? 通过使用过程、函数、触发器和包,建立模块化的PL/SQL应用。 内容推荐 《Oracle PL/SQL程序...

    精通pl/sql

    1. **PL/SQL基础**:介绍PL/SQL的基本语法,包括变量声明、常量定义、条件判断语句(IF-THEN-ELSIF-ELSE)、循环结构(WHILE、FOR)、异常处理(BEGIN-EXCEPTION-END)等,以及如何编写存储过程、函数和触发器。...

    PL/SQL examples

    - 执行部分包含PL/SQL的流程控制结构,如循环、条件语句。 - 异常处理部分帮助捕获并处理运行时错误。 2. **文件操作示例** - `basic_file_ops.pkg`:展示如何在PL/SQL中进行文件操作,如打开、读取、写入和关闭...

    PL/SQL汉化版

    执行部分则包含SQL语句和PL/SQL控制结构,如循环、条件判断等;异常处理部分用于捕获和处理运行时可能出现的错误。 PL/SQL与SQL的主要区别在于,SQL主要用来查询和操作数据,而PL/SQL则可以编写复杂的业务逻辑,...

    pl/sql例题代码pl/sql例题代码pl/sql例题代码

    在"plsql_day02"这个压缩包文件中,很可能包含了第二天学习PL/SQL时的一些示例代码。这些代码可能涉及到以下知识点: 1. **变量声明**:在PL/SQL中,我们首先需要声明变量来存储数据,比如`DECLARE`关键字用于定义...

    PL/SQL 详解

    PL/SQL支持多种流程控制语句,包括条件判断语句(如IF-THEN-ELSE)、循环语句(如FOR LOOP、WHILE LOOP)等。这些语句使得开发者可以根据不同的条件执行不同的代码路径,增强了程序的灵活性。 #### 4. 把游标说透 ...

    oracle 中 pl/sql 只是学习方法

    2. **流程控制**:PL/SQL支持条件语句(IF-THEN-ELSE、CASE)和循环语句(FOR、WHILE、LOOP)。这使得我们能够在处理数据时根据不同的条件执行不同的逻辑。 3. **集合和游标**:集合是PL/SQL中处理多行数据的有效...

    oracle 经典资料及PL/SQL 使用指南 英文版

    二、PL/SQL编程 1. PL/SQL块结构:PL/SQL由声明部分、执行部分和异常处理部分组成。理解块的结构对于编写有效程序至关重要。 2. 变量与常量:PL/SQL支持声明变量和常量,用于存储数据。学习如何声明、初始化和改变...

Global site tag (gtag.js) - Google Analytics