- 19
- 0
- 约4.52千字
- 约 27页
- 2016-08-22 发布于河南
- 举报
第11章 控制语句
第十一章 控制语句
知识点回顾
理解 PL/SQL 功能和特点
了解数据类型及其用法
理解逻辑比较
掌握错误处理
2
本章目标
顺序结构控制语句
选择结构控制语句
if语句
Case语句
循环结构控制语句
基本loop循环
while循环
for循环
3
流程控制
顺序控制用于按顺序执行语句
可以使用选择语句和循环来更改PL/SQL块的可执行部分中的语句的执行顺序。
4
选择结构—IF语句
如果一个条件为TRUE,那么IF语句将决定是否应该执行一个语句。
IF语法结构
IF condition THEN
statements;
[ELSIF condition THEN
statements;]
[ELSE
statements;]
END IF;
5
执行控制--IF语句
说明:
在IF语句中,唯一一个必需的子句是IF子句。IF子句指出了要想执行THEN关键字之后列出的语句所必须满足的条件。如果这个条件计算为FALSE,并且提供了第一个ELSIF条件,那么Oracle将转到这个条件。
ELSIF子句用来指出在随后的条件得到满足时应该执行的另一个操作过程或一组语句。如果在ELSIF关键字之后列出的条件计算为TRUE,那么将执行在随后的THEN关键字之后列出的语句。
如果在IF和ELSIF子句中提供的条件都是FALSE,将自动执行ELSE子句中提供的任何语句。
IF语句总是以END IF关键字结束。
注意:ELSIF子句的关键字是一个单词,不能写成“ELSEIF”或“ELSE IF”
6
执行控制--IF语句
例编写PL/SQL语句块,计算所购买图书的零售价,然后
确定在发货时应该包括的礼品。
DECLARE
v_gift VARCHAR2(20);
c_retailprice NUMBER(5,2):=29.95;
BEGIN
IF c_retailprice56 THEN
v_gift:=FREE SHIPPING;
ELSIF c_retailprice25 THEN
v_gift:=BOOKCOVER;
ELSIF c_retailprice12 THEN
v_gift:=BOX OF BOOK LABELS;
ELSE
v_gift:=BOOKMARKER;
END IF;
DBMS_OUTPUT.PUT_LINE(The gift for a book costing ||c_retailprice|| is a ||v_gift);
END;
7
练习
1.请按以下对应关系,根据成绩的不同,打印出对应的级别
90 A
80 B
70 C
60 D
=60 E
8
执行控制--CASE 表达式
CASE selector
WHEN expression1 THEN result1
WHEN expression2 THEN result2
WHEN expressionN THEN resultN
[ ELSE resultN+1]
END?
9
CASE 表达式
根据不同的输入打印不同的信息
DECLARE
v_grade char(1) := UPPER(p_grade);
v_appraisal VARCHAR2(20);
BEGIN
v_appraisal :=
CASE v_grade
WHEN A THEN Excellent
WHEN B THEN Very Good
WHEN C THEN Good
ELSE No such grade
END;
DBMS_OUTPUT.PUT_LINE( Grade: ||v_grade|| Appraisal: || v_appraisal);
END;
10
练习
1.请按以下对应关系,根据信号灯的不同,打印出对应的行为
红灯 停
绿灯 行
黄灯 等
11
循环控制
希望反复执行PL/SQL块的可执行部分中的语句。
创建一个循环,其中包括要执行的语句,这个循环一直重复,直到满足某个条件为止,这时将会退出循环。
有三种类型的循环,你可以在PL/SQL块的可执行部分使用它们,以便重复执行一组语句:
基本循环
FOR循环
WHILE循环
12
循环控制--基本loop循环
基本循环的语法:
说明:
基本循环用来执行语句,直到满足了EXIT子句指定的条件为止。
根据指定的条件,执行循环的次数在各次执行时可能是不同的
原创力文档

文档评论(0)