Oracle中if有几种用法,怎么应用
用法: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种使用方法,如下表:
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中if有几种用法,怎么应用”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Oracle中if有几种用法,怎么应用
本文地址: https://pptw.com/jishu/651455.html