您现在的位置是:群英 > 数据库 > 关系型数据库
Oracle中if有几种用法,怎么应用
Admin发表于 2022-05-09 18:04:264749 次浏览
关于“Oracle中if有几种用法,怎么应用”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“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有几种用法,怎么应用”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: oracle 使用if
相关信息推荐
2022-07-13 17:26:50 
摘要:这篇文章主要介绍了浅谈入门级oracle数据库数据导入导出步骤,文章通过步骤解析介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2022-05-14 11:38:28 
摘要:本篇文章给大家带来了mysql中账户的权限的相关问题,当用户执行任何数据库操作时,服务器将会验证用户是否具有相应的权限,例如查询表需要 SELECT 权限,删除对象需要 DROP 权限。希望对大家有帮助。
2022-05-07 17:50:31 
摘要:关闭触发器的方法:1、使用“ALTER TRIGGER 触发器名称 DISABLE;”语句,可关闭指定名称的触发器;2、使用“ALTER TABLE 表名称 DISABLE ALL TRIGGERS;”语句,可关闭指定数据表中的所有触发器。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部