简述

决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块。

PL/SQL编程语言提供了以下几种类型的决策语句

语句 描述

IF - THEN 语句 IF语句关联的条件通过THEN和END IF关键字封闭的语句序列。 如果条件为真,则语句被执行,如果条件为假或NULL,则IF语句什么都不做
IF-THEN-ELSE 语句 IF语句添加关键字ELSE后面的语句的替代序列。如果条件为假或NULL,语句则只有替换序列得到执行。它确保任一陈述的序列的被执行
IF-THEN-ELSIF 语句 它可以在几个方案之间进行选择
Case 语句 像IF语句中,CASE语句选择要执行的语句一个序列。但是选择顺序,CASE语句使用一个选择而不是多个布尔表达式。一个选择器其值被用来选择多个选项之一的表达式
Searched CASE 语句 所搜索的CASE语句没有选择,它的WHEN子句包含产生布尔值的搜索条件
内嵌IF-THEN-ELSE 可以使用一个IF-THEN或IF-THEN-ELSIF语句中的另一个IF-THEN或IF-THEN-ELSIF声明

IF-THEN语句

IF (a <= 20) THEN
b:= b+1;
END IF;

IF-THEN-ELSE语句

IF 1 = 2 THEN
dbms_output.put_line('1 = 2')
ELSE
dbms_output.put_line('1 <> 2');
END IF;

IF-THEN-ELSIF语句

使用IF-THEN-ELSIF语句时有几点要牢记。

它是ELSIF, 而不是 ELSEIF

一个IF-THEN语句可以有零或一个ELSE语句,它必须跟从ELSIF语句。

一个IF-THEN语句可以有0到多个ELSIF,它们必须在ELSE之前。

一旦某个ELSIF成功,任何剩余的ELSIF或其他都不被测试。

DECLARE
a number(3) := 66;
BEGIN
IF ( a = 6 ) THEN
dbms_output.put_line('Value of a is 6' );
ELSIF ( a = 66 ) THEN
dbms_output.put_line('Value of a is 66' );
ELSIF ( a = 666 ) THEN
dbms_output.put_line('Value of a is 666' );
ELSE
dbms_output.put_line('the values is matching');
END IF;
dbms_output.put_line('the value of a is: ' || a );
END;

CASE语句

set serveroutput on
DECLARE
grade CHAR(1) := '&Guess';
BEGIN
CASE grade
when 'A' then dbms_output.put_line('AA');
when 'B' then dbms_output.put_line('BB');
when 'C' then dbms_output.put_line('CC');
when 'D' then dbms_output.put_line('DD');
when 'E' then dbms_output.put_line('EE');
else dbms_output.put_line('No such grade');
END CASE;
END;

搜索CASE语句

CASE
WHEN selector = 'value1' THEN S1;
WHEN selector = 'value2' THEN S2;
WHEN selector = 'value3' THEN S3;
...
ELSE Sn; -- default case
END CASE;

嵌套IF-THEN-ELSE语句

DECLARE
a number(3) := 100;
b number(3) := 200;
BEGIN
IF( a = 100 ) THEN
IF( b = 200 ) THEN
dbms_output.put_line('Value of a is 100 and b is 200' );
END IF;
END IF;
dbms_output.put_line('Exact value of a is : ' || a );
dbms_output.put_line('Exact value of b is : ' || b );
END;

(五)PL/SQL条件控制的更多相关文章

  1. PL/SQL 条件控制

    ------ PL/SQL 条件控制 IF-THEN语句 DECLARE a ) :; BEGIN a:; -- check the boolean condition using if statem ...

  2. PL\SQL结构控制、异常

    PL\SQL结构控制    1.IF条件控制语句(三种基本方式+IF语句的嵌套使用)        (1)IF...        (2)IF...ELSE        (3)IF...ELSIF. ...

  3. PL/SQL 使用控制流程

    一.条件分支语句 1.if判断 IF <布尔表达式> THEN PL/SQL 和 SQL语句 END IF; 2.if else判断 IF <布尔表达式> THEN PL/SQ ...

  4. PL/SQL 条件控制语句

    1.if-then 语句 语法: IF 条件 THEN 语句序列; END IF; 实例: DECLARE i ) :; BEGIN THEN dbms_output.put_line('True') ...

  5. oracle 树状结构递归 PL/SQL输出控制 包括空格输出控制

    树状结构 存储过程中通过递归构建,类似BBS回帖显示,代码共三段: 建表,插入数据,创建存储过程显示: 1.create table article(id number primary key,con ...

  6. SQL记录-PLSQL条件控制

    PL/SQL条件控制   决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. 以下是从在大 ...

  7. PL/SQL 游标的使用

     游标的使用 ①游标概念 为了处理SQL 语句,ORACLE 必须分配一片叫上下文( context area )的区域来处理所必需的信息, 当中包含要处理的行的数目.一个指向语句被分析以后的表示 ...

  8. PL/SQL -->隐式游标(SQL%FOUND)

    PL/SQL -->隐式游标(SQL%FOUND) 分类: SQL/PLSQL 基础2010-12-22 16:23 4084人阅读 评论(0) 收藏 举报 sqlexceptionoracle ...

  9. Oracle学习DaySix(PL/SQL续)

    一.游标 在 PL/SQL 程序中,对于处理多行记录的事务经常使用游标来实现.游标是一个指向上下文的句柄( handle)或指针.通过游标,PL/SQL 可以控制上下文区和处理语句时上 下文区会发生些 ...

随机推荐

  1. while与until

    一.格式: while  条件测试 :do 循环体 done 二.条件测试 条件测试是指满足条件则会一直执行下去. 比如: let i =0 while i < 100;do echo $i i ...

  2. P3376 【模板】网络最大流( Edmonds-krap、Dinic、ISAP 算法)

    P3376 [模板]网络最大流( Edmonds-krap.Dinic.ISAP 算法) 题目描述 如题,给出一个网络图,以及其源点和汇点,求出其网络最大流. 输入格式 第一行包含四个正整数N.M.S ...

  3. js对象中in和hasOwnProperty()区别

    记录学习中容易混淆的一些方法. prop in object prop一个字符串类型或者 symbol 类型的属性名或者数组索引(非symbol类型将会强制转为字符串). objectName检查它( ...

  4. python:列表生成式的学习

    看个例子: # 定义一个列表 l=[1,2,3,4,5] #()用于创建一个list,结果依次返回列表l的元素的平方,返回list s=[i*i for i in l] # 打印列表s print(s ...

  5. Vmware安装CentOs7.4

    转载https://blog.csdn.net/qq_42545206/article/details/90301472

  6. SSM集合定时任务

    1.首先要在spring-config.xml里面配置一下: xmlns:task="http://www.springframework.org/schema/task" htt ...

  7. Mongo日期

    当通过mongo shell来插入日期类型数据时,使用new Date()和使用Date()是不一样的: > db.tianyc04.insert({mark:, mark_time:new D ...

  8. Java工程中如何读取配置文件中参数信息

    Java中读取配置文件中参数: 方法一:通过JDK中Properties来实现对配置文件的读取. Properties主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很 ...

  9. 如果你的 pip 命令不能用,你可以这样解决

    文章更新于:2020-04-05 注:如果想了解 pip 参数的使用参见:pip 命令参数以及如何配置国内镜像源 如何解决 pip 不能用的问题 一.你可能会遇到的问题 1.检查你敲命令的位置 2.如 ...

  10. python3(二十六)slots

    """ """ __author__ = 'shaozhiqi' # python是动态语言,所以定义类后,我们可以动态的给类绑定属性和方法 ...