PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.3程序控制语句
2.2.3程序控制语句
机构化程序设计语言分顺序、循环、分支3中结构,PL/SQL提供了一系列的控制和跳转语句来支持这3种结构。
1.条件控制语句
最常用的是IF-THEN-ELSE语句,IF用来检查指定表达式的条件:THEN在条件中的值为True时执行代码:ELSE在条件值为False或NULL时执行代码。在IF条件中可以使用布尔表达式包含多个条件,也可以使用IF-THEN-ELSIF语句来进行多条件判断。
如果要判断的条件过多,可以使用CASE语句,CASE语句可以仅检查一次条件判断的值,然后判断这个值在多种条件下的实现。
create or replace function getMarkByCaseWhen(score in number) --传入学生成绩return varchar2 is --返回绩点v_mark varchar2(2);
begincasewhen score > 90 then --根据成绩进行判断v_mark := 'A';when score > 80 thenv_mark := 'B';when score > 70 thenv_mark := 'C';when score >= 60 thenv_mark := 'D';when score < 60 thenv_mark := 'F';end case;return v_mark;
end;
代码使用了CASE-WHEN语句后,在调用时与IF-THEN-ELSE能产生相同的效果,但是两者有一个区别:当CASE发现一个when**子句不存在判断条件时,会触发异常。
2.循环控制语句
PL/SQL 提供了三种类型的循环,如下所示:
(1)简单循环:这是最基础的循环类型,包含LOOP-END LOOP和用来退出循环的EXIT方法。
(2)数字FOR式循环:将会循环指定次数退出循环。
(3)WHILE循环:仅当条件成立时才执行循环。
以下展示如何使用数字式FOR循环打印九九乘法口诀表,定义代码如下:
--通过循环打印输出九九乘法表declare--定义外层循环数v_num1 number;--定义内层循环数v_num2 number;
begin--第一层循环for v_num1 in 1 .. 9 loop--第二层循环从1开始到第一层结束for v_num2 in 1 .. v_num1 loopdbms_output.put(v_num2 ||'*'|| v_num1||'='||v_num1*v_num2||' ');end loop;dbms_output.put_line('');end loop;end;
结果
为了打印九九乘法口诀表,使用了两个FOR循环,内层FOR根据外层FOR的循环次数来决定最大的计数。
PL/SQL 002---PL/SQL的基本能概念--2.2语言特性--2.2.3程序控制语句相关推荐
- oracle pl sql注意问题,Oracle PL/SQL编写PL/SQL代码的注意事项
(1)几个值得注意的关键字(2)变量常量赋值注意: ---------------------------------------------------------------------[@mor ...
- ebs oracle pl sql开发_PL/SQL设置
1.PL/SQL Developer记住登陆密码 再使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码: 设置方法:PL/SQL ...
- oracle 的遍历语法,oracle pl/sql之pl/sql语法
一.pl/sql基础 pl/sql分匿名块和命名块. 命名块:存储过程,函数,触发器,包等. pl/sql语句块分3部分: (1)声明部分 (2)可执行部分 (3)异常处理部分 其中可执行部分是语句块 ...
- PL SQL导入导出sql/dmp文件
导出步骤: 1.tools ->export user object (导出的是建表语句(包括存储结构),选择选项,导出.sql文件 2.tools ->export tables-> ...
- 如何在Oracle数据库内格式化SQL或PL/SQL ?
点击上方"蓝字" 关注我们,享更多干货! 在一些情况下,梳理复杂的SQL或PL/SQL代码逻辑时最好是格式化一下文本. 当然我们有Toad或PL/SQL Developer等其它第 ...
- t–sql pl–sql_不正确SQL Server统计信息– SQL查询性能的杀手–基本知识
t–sql pl–sql 什么是SQL Server统计信息? (What are SQL Server statistics?) SQL Server statistics are a collec ...
- Oracle PL/SQL 编程手册(SQL大全)
一.SQLPLUS 1引言 SQL命令 以下17个是作为语句开头的关键字: alterdroprevoke auditgrantrollback* commit*insert ...
- 线上分享丨自治时代DBA的技能库:SQL和PL/SQL的深度编程(附上期PPT和视频)-云和恩墨大讲堂201905...
云和恩墨大讲堂又和大家见面了! 2018年云和恩墨大讲堂走过了祖国的大好河山,从大连到海口,从上海到昆明--不知道我们的课堂里有没有出现过你的身影. 2019我们也不会停下分享的脚步.不过这一次,我们 ...
- ORACLE PL/SQL编程--PL/SQL块结构和组成元素
本篇主要内容如下: 2.1 PL/SQL块 2.2 PL/SQL结构 2.3 标识符 2.4 PL/SQL 变量类型 2.4.1 变量类型 2.4.2 复合类型 2.4.2.1 ...
最新文章
- MFC EDIT控件的使用记录
- python mysql 分号_Python中使用MySQL
- linux服务器选ubantu或centos_如何通过SSH连接阿里云上的Linux系统
- 双层板在哪层覆铜_PCB覆铜箔层压板分类和工艺解析
- 表格存储TableStore全新升级,打造统一的在线数据存储平台!
- php设置表格边框颜色,HTML表格标记教程(38):表头的边框色属性BORDERCOLOR
- Java按行分割文件
- 深入理解C语言指针的奥秘-4
- 学历真的改变能命运? | 数据告诉你
- mysql客户端字符集_设置MySQL客户端连接使用的字符集
- SD-WAN 系列--企业专线、企业互联网
- 【毕业设计】大数据工作岗位数据分析与可视化 - python flask
- C. Dominant Piranha
- 故障模块名称: mso.dll
- win 7系统出现计算机内存不足,win7系统计算机内存不足的解决方法
- 微信小程序开发部署上线流程
- 火狐浏览器主页被篡改的解决办法!
- 从表征到行动---意向性的自然主义进路(续八)
- PARL源码走读——使用策略梯度算法求解迷宫寻宝问题
- 恶意代码Lab11-03分析