• 技术文章 >数据库 >Oracle

    oracle中if的用法是什么

    长期闲置长期闲置2022-02-28 11:12:19原创133

    用法:1、“IF THEN END IF”语句决定单个条件下语句是否执行;2、“IF THEN ELSE END IF”语句决定两个条件下语句是否执行;3、“IF THEN LESIF ELSE END IF”语句决定多个条件语句是否执行。

    本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

    oracle中if的用法是什么

    IF语句可以有3种使用方法,如下表:

    01.png

    1.1 IF-THEN组合

    IF-THEN语法的常见格式如下:

    IF condition
    THEN
          ...执行的语句...
    END IF;

    其中,condition是一个布尔类型的变量、常量,其值可能存在三种情况:TRUE,FALSE,NULL

    例如存在这样的条件 IF sal > 1000; dbms_output.put_line('null');END IF;,这个条件可能返回TRUE,FALSE,但是当sal的值是NULL的时候,也就是:IF NULL > 1000,返回的值就是NULL

    上述情况为了避免NULL值产生,我们可以使用IF sal > 1000 OR sal is null; dbms_output.put_line('null');END IF;来避免,也可以使用空值处理函数处理

    1.2 IF-THEN-ELSE组合

    语法格式如下:

    IF condition
    THEN
         ... TRUE sequence of executeable statements ... 
    ELSE
        ... FALSE/NULL sequence of executeable statements ...  
    END IF;

    1.3 IF-THEN-ELSIF组合

    要特别注意:此处是ELSIF不是ELSEIF,写成ELSE IF也是不行的。

    语法格式如下:

    IF condition-1
    THEN
          statements-1
    ELSIF condition-N
    THEN
          statements-N
    [ELSE
          else-statements]
    END IF;

    2.短路求值

    PL/SQL使用短路求值方法,也就是说PL/SQL不需要对一个IF语句中的所有表达式都去求值。比如,当对下面这个IF语句中的表达式求值的时候,如果第一个条件是FALSE或者NULL,则PL/SQL会停止对表达式继续求值,立即跳转到ELSE分支上;

    IF condition1 AND condition2
    THEN
          ...
    ELSE
          ...
    END IF;

    根据短路求值原理,存在多个条件时,一定要将会消耗大量的CPU和内存资源的条件放到整个条件集的最后。

    推荐教程:《Oracle视频教程

    以上就是oracle中if的用法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:oracle怎么取消权限 下一篇:oracle中with as的用法是什么
    PHP编程就业班

    相关文章推荐

    • oracle中存储过程与函数的区别是什么• oracle中怎么创建存储过程• 什么是oracle 11g• 什么是oracle DBA• oracle存储过程的作用有哪些

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网