条件结构

一、IF-THEN语句

IF-THEN语句是最简单的IF语句。

语法:

IF condition THEN
Statements
END IF;

例子:

declare
v_score number := &成绩;
begin
if v_score >= 60 then
dbms_output.put_line('合格');
end if;
end;

二、IF-THEN-ELSE语句

与IF-THEN语句相比,在IF-THEN-ELSE语句则给出了在不满足条件时程序的外理情况。

语法:

IF condition THEN
Statements1
ELSE
Statements2
END IF;

例子:

declare
v_score number := &成绩;
begin
if v_score >= 60 then
dbms_output.put_line('合格');
else
dbms_output.put_line('不合格');
end if;
end;

三、IF-THEN-ELSIF语句

该语句是当存在多个不同条件时使用,注意此时是ELSIF,而不是ELSEIF。

语法:

IF condition1 THEN
Statements1
ELSIF condition2 THEN
Statements2
ELSE
Statements3
END IF;

例子:

declare
v_score number := &成绩;
begin
if v_score >= 90 then
dbms_output.put_line('优秀');
elsif v_score >= 60 then
dbms_output.put_line('合格');
else
dbms_output.put_line('不合格');
end if;
end;

四、CASE 语句

CASE语句是在Oracle 9i 版本后引入的控制语句结构。

语法:

CASE variable
WHEN value1 THEN statements1;
WHEN value2 THEN statements2;
……
WHEN valuen THEN statementsn;
[ELSE else_statements;]
END CASE;

例子:

declare
v_score number := &成绩;
begin
case v_score
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;

循环结构

一、LOOP循环

LOOP循环是最简单的一种循环。需使用 EXIT 语句来退出循环。

语法:

LOOP
statements;
END LOOP;

例子:

declare
v_num number := 1;
begin
loop
dbms_output.put_line(v_num);
v_num := v_num+1;
if v_num>15 then
exit;
end if;
end loop;
end;

二、WHILE-LOOP 循环

WHILE-LOOP 循环是在执行循环时,先判断循环条件是否成立,当条件为TRUE时,才开始执行循环体内的语句。

语法:

WHILE condition LOOP
statements;
END LOOP;

例子:

declare
v_num number := 1;
begin
while v_num<=15 loop
dbms_output.put_line(v_num);
v_num := v_num+1;
end loop;
end;

三、FOR-LOOP 循环

与WHILE-LOOP 循环相比,FOR-LOOP 循环可以清楚的知道循环的次数,并且FOR 循环还确定了循环的范围。

语法:

FOR loop_count IN [REVERSE] lower_bound..height_bound LOOP
statements;
END LOOP;

例子:

declare

begin
for i in 1..15 LOOP
dbms_output.put_line(i);
END LOOP;
end;

PL/SQL 流程控制语句-条件结构,循环结构的更多相关文章

  1. Oracle数据库之PL/SQL流程控制语句

    Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结 ...

  2. [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)

    原文:[推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆) [推荐]ORACLE PL/SQL编程详解之三: PL/SQL流程控制语句(不给规则,不成方圆) ...

  3. PL/SQL流程控制语句

    PL/SQL流程控制语句介绍PL/SQL的流程控制语句, 包括如下三类:控制语句: IF 语句循环语句: LOOP语句, EXIT语句顺序语句: GOTO语句, NULL语句①if语句 IF < ...

  4. oracle数据库之PL/SQL 流程控制语句

    介绍 PL/SQL 的流程控制语句, 包括如下三类: 1.控制语句: IF 语句 2.循环语句: LOOP 语句, EXIT 语句 3.顺序语句: GOTO 语句, NULL 语句 一 条件语句 IF ...

  5. 二十五、oracle pl/sql进阶--控制结构(分支,循环,控制)

    一.pl/sql的进阶--控制结构在任何计算机语言(c,java,pascal)都有各种控制语句(条件语句,循环结构,顺序控制结构...),在pl/sql中也存在这样的控制结构.在本部分学习完成后,希 ...

  6. java里的分支语句--程序运行流程的分类(顺序结构,分支结构,循环结构)

    JAVA里面的程序运行流程分三大类: 1,顺序结构:顺序结构就是依次执行每一行代码 2,分支结构:分支结构就是按不同的条件进行分支 3,循环结构:一段代码依条件进行循环执行. 其中,分支结构有两大类: ...

  7. day_4流程控制之分支结构循环结构及for循环

    复习一下昨天的内容 1:变量的命名规范 只能由数字 字母 及下划线组成 不能以数字开头 不能与系统关键字重名 _开头有特殊含义 __开头__结尾的变量是魔法变量 支持大小驼峰 ,但建议使用下划线连接语 ...

  8. js值类型转换(boolean/String/number),js运算符,if条件,循环结构,函数,三种弹出框

    js值类型转换 number | string | boolean boolean类型转换 num = 0; var b1 = Boolean(num); console.log(b1) 转化为数字类 ...

  9. Python基础2:流程控制语句 while / for循环

    [ while 循环 ] 如果要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+ ...

随机推荐

  1. 给一组a标签当前页a标签加class

    <script type="text/javascript"> $(document).ready(function(){ $(".links .topbg_ ...

  2. Java的一点内容(2)

    1 面向对象的三个原则 封装性 封装的基本单元是类(class),类是一个抽象的逻辑结构,而类的对象是一个真实的物理实体:类的目的是封装复杂性,在类内部存在隐藏实现复杂性机制: 封装(encapsul ...

  3. 一个cocos2d-x的项目

    前几天完成了一个cocos2d-x的项目,放在git上: https://github.com/gittor/Jigsaw 采用cocos的版本是3.7.1. 项目是一个拼图的游戏,市面上的拼图类游戏 ...

  4. Window7下手动编译最新版的PCL库

    PCL简介 PCL是Point Cloud Library的缩写,是一个用于处理二维图像,三维深度图像和三维点云的C++库.该库是完全开源的,可免费用于商业和学术研究. 官方网站:http://poi ...

  5. 混入模式(max-in)实现继承

    混入模式并不是一种复制完整的对象,而是从多个对象中复制出任意的成员并将这些成员组合成一个新的对象. 实现如下: function mix(){ var arg,prop,child = {}; for ...

  6. Scala学习笔记--隐式转换

    隐式转换的规则:1.无歧义规则:隐式转换唯有不存在其他可插入转换的前提下才能插入  若编译器有两种方法修正x+y 如convert1(x)+y,convert2(x)+y,会报错2.单一调用规则:只尝 ...

  7. Jasper_crosstab_columngroup header position config - (headerPosition="Stretch")

    Position of Totals RowThe totalPosition attribute controls the appearance of the row that displays t ...

  8. 可以ping通,浏览器打不开网页 - 解决办法

    网络故障表现为: 1.电脑显示网络连接正常,DNS配置和hosts配置均正常 2.cmd可以ping通网址,域名 3.所有浏览器无法打开网页,有道云笔记置灰,微信二维码刷新失败 解决办法: 管理员权限 ...

  9. [POJ] 2785 4 Values whose Sum is 0(双向搜索)

    题目地址:http://poj.org/problem?id=2785 #include<cstdio> #include<iostream> #include<stri ...

  10. XJOI网上同步训练DAY2 T1

    [问题描述] 为了迎接校庆月亮中学操场开始施工.不久后操场下发现了很多古墓这些古墓中有很多宝藏.然而学生们逐渐发现自从操场施工之后学校的运气就开始变得特别不好.后来经过调查发现古墓下有一个太守坟由于操 ...