一、分支结构

1、if语句

语法:

IF <布尔表达式> THEN

  PL/SQL和SQL语句

END IF;

示例:

DECLARE
v_count NUMBER := &n;
BEGIN
IF v_count > 0 THEN
DBMS_OUTPUT.put_line('正数');
END IF;
END;

判断是否为正整数!

2、if...else...

语法

IF <布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSE

  其他语句

END IF;

示例:

DECLARE
v_count NUMBER := &n;
BEGIN
IF v_count > 0 THEN
DBMS_OUTPUT.put_line('正数');
ELSE
DBMS_OUTPUT.put_line('负数');
END IF;
END;

判断是否为正数或者负数!

3、多重if...else...结构

语法:

IF <布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSIF <其他布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSIF <其他布尔表达式> THEN

  PL/SQL 和 SQL 语句

ELSE

  PL/SQL 和 SQL 语句

END IF;

示例:

DECLARE
v_count NUMBER := &n;
BEGIN
IF v_count > 0 THEN
DBMS_OUTPUT.put_line('正数');
ELSIF v_count < 0 THEN
DBMS_OUTPUT.put_line('负数');
ELSE
DBMS_OUTPUT.put_line('零');
END IF;
END;

4、CASE语句语法:

格式一:

CASE 条件表达式

  WHEN 条件表达式结果1 THEN

    语句段1

  WHEN 条件表达式结果2 THEN

    语句段

  ......

  WHEN 条件表达式结果n THEN

    语句段n

  [ELSE 语句段]

END CASE;

示例:根据输入1-7显示星期

DECLARE
v_week NUMBER := &S;
BEGIN
CASE v_week
WHEN 1 THEN
DBMS_OUTPUT.PUT_LINE('星期一');
WHEN 2 THEN
DBMS_OUTPUT.PUT_LINE('星期二');
WHEN 3 THEN
DBMS_OUTPUT.PUT_LINE('星期三');
WHEN 4 THEN
DBMS_OUTPUT.PUT_LINE('星期四');
WHEN 5 THEN
DBMS_OUTPUT.PUT_LINE('星期五');
WHEN 6 THEN
DBMS_OUTPUT.PUT_LINE('星期六');
WHEN 7 THEN
DBMS_OUTPUT.PUT_LINE('星期日');
ELSE
DBMS_OUTPUT.PUT_LINE('输入错误');
END CASE;
END;

注意: 一般用于等值判断的情况。

格式二:

CASE

  WHEN 条件表达式1 THEN

    语句段1

  WHEN 条件表达式2 THEN

    语句段

  ......

  WHEN 条件表达式n THEN

    语句段n

  [ELSE 语句段]

END CASE;

示例:根据分数输出A,B,C,D,E

DECLARE
V_SCORE NUMBER := &N;
BEGIN
CASE
WHEN V_SCORE >= 90 THEN
DBMS_OUTPUT.PUT_LINE('A');
WHEN V_SCORE >= 80 THEN
DBMS_OUTPUT.PUT_LINE('B');
WHEN V_SCORE >= 70 THEN
DBMS_OUTPUT.PUT_LINE('C');
WHEN V_SCORE >= 60 THEN
DBMS_OUTPUT.PUT_LINE('D');
ELSE
DBMS_OUTPUT.PUT_LINE('E');
END CASE;
END;

注意:一般用于区间判断的情况。

Oracle基础 PL-SQL编程基础(2) 分支结构的更多相关文章

  1. Oracle数据库编程:PL/SQL编程基础

    2.PL/SQL编程基础: PL/SQL块:        declare        定义部分        begin        执行部分        exception        异 ...

  2. 【PL/SQL编程基础】

    [PL/SQL编程基础]语法: declare 声明部分,例如定义变量.常量.游标 begin 程序编写,SQL语句 exception 处理异常 end: / 正斜杠表示执行程序快范例 -- Cre ...

  3. Oracle Pl/SQL编程基础

    Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...

  4. Oracle PL/SQL 编程基础 实例

    create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is  ...

  5. PL/SQL编程基础(三):数据类型划分

    数据类型划分 在Oracle之中所提供的数据类型,一共分为四类: 标量类型(SCALAR,或称基本数据类型) 用于保存单个值,例如:字符串.数字.日期.布尔: 标量类型只是作为单一类型的数据存在,有的 ...

  6. PL/SQL编程基础(四):程序控制(IF,CASE,FOR,LOOP,WHILE LOOP,EXIT,CONTINUE)

    程序控制 程序结构有分支结构与循环结构: 分支结构语法:IF.CASE: 循环结构:FOR.WHILE LOOP:先执行再判断,至少执行一次: WHILE LOOP:先判断再执行,如果不满足条件,就不 ...

  7. oracle PL/SQL编程基础知识

    在oracle中使用pl/sql来扩展SQL的功能,使得SQL能够更加的灵活,功能更加强大,效率更高.pl/sql让sql也能执行判断,循环等操作.主要记录一下pl/sql的基本语法和基本条件判断语句 ...

  8. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)

    PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...

  9. PL/SQL编程基础——PL/SQL简介

    课程教师:李兴华 课程学习者:阳光罗诺 日期:2018-07-28 知识点: 1. 了解PL/SQL的主要特点 2. 掌握PL/SQL块的基本结构 PL/SQL PL/SQL是Oracle在关系数据库 ...

  10. PL/SQL编程基础(五):异常处理(EXCEPTION)

    异常处理 异常产生所带来的问题: 使用EXCEPTION程序块进行异常处理: 实现用户自定义异常. 使用异常可以保证在程序中出现运行时异常时程序可以正常的执行完毕: 用户可以使用自定义异常进行操作. ...

随机推荐

  1. mysql 逻辑架构(三层)

    1.客户端(主要处理连接,授权认证,安全等). 2.MYSQL服务器层(核心服务功能都在这层,包括,查询解析,分析,优化,缓存以及所有的内置函数,所有跨存储引擎的功能都在这层实现:存储过程,触发器,视 ...

  2. 行为型设计模式之命令模式(Command)

    结构 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤消的操作. 适用性 抽象出待执行的动作以参数化某对象,你可用过程语言中的回调(c a ...

  3. 斗地主(NOIP2015)

    原题传送门 神奇的题目.. 一开始我准备打暴力直接搜答案. 然后发现.. 无限TLE.. 因为O((logN)^14*T)BOOM.. 然后Zxyer告诉可以只DFS顺子...其他的可以一步搞出来.. ...

  4. gluPerspective(解释得很好)

    http://www.cppblog.com/COOOOOOOOL/archive/2009/12/28/104255.html 函数原型gluPerspective(GLdouble fovy,GL ...

  5. poj2181 jumping cow

    umping Cows Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7579   Accepted: 4559 Descr ...

  6. 我从16ASPX上下了一个程序在运行时出错是怎么回事?运行时出现用户SA登陆失败,但是我已经把数据库导入SQL

    如果你账号密码正确,那你可能没有打开你的管线服务,或者没有配置好你的客户端

  7. HDU1016 Prime Ring Problem (回溯 + 剪枝)

    本文链接:http://www.cnblogs.com/Ash-ly/p/5398684.html 题意: 给你一个数字N(N <= 20),要求你把这N个数组成一个环,环内的数字不能重复,左右 ...

  8. hadoop之linux常用命令

    Linux的命令后面会有命令选项,有的选项还有选项值.选项的前面有短横线“-”,命令.选项.选项值之间使用空格隔开.有的命令没有选项,会有参数.选项是命令内置的功能,参数是用户提供的符合命令格式的内容 ...

  9. (寒假集训)洛谷 P2058 海港

    小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客. 小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况:对于第i艘到达的船,他记录了 ...

  10. bzoj 5163: 第k大斜率

    5163: 第k大斜率 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 15  Solved: 4[Submit][Status][Discuss] D ...