一、条件分支语句
条件分支语句用于依据特定的情况选择要执行的操作,PL/SQL提供了三种条件分支语句:if-then, if-then-else,if-then-elsif。
语法如下:
if conditions then
statements;
[elseif conditions then
statements;]
[else
statements;]
end if;
1、if-then示例
用于执行单一条件判断,如果满足特定条件则会执行相应操作,如果不满足特定条件则退出条件分支语句。
declare
v_count number;
begin
select count(*) into v_count from cip_temps;
if(v_count>0) then
dbms_output.put_line('v_cont的值:'|| v_count);
end if;
end;
/
2、if-then-else示例
用于执行二重条件判断,如果满足特定条件则执行一组操作,如果不满足则执行另一组操作。
declare
v_count number;
begin
select count(*) into v_count from cip_temps;
if(v_count>11) then
dbms_output.put_line('v_cont的值:'|| v_count);
else
dbms_output.put_line('v_count的值:'|| v_count);
end if;
end;
/
3、if-then-elsif示例
用于执行多重条件判断,如果满足特定条件1则执行第一组操作,如果满足特定条件2则执行第二组操作,以此类推,如果都不满足特定条件则执行不满足条件的操作。
declare
v_count number;
begin
select count(*) into v_count from cip_temps;
if(v_count>10) then
dbms_output.put_line('if操作___v_cont的值:'|| v_count);
elsif (v_count=10) then
dbms_output.put_line('elsif操作____v_count的值:'|| v_count);
else
dbms_output.put_line('else操作____v_cout的值:'||v_count);
end if;
end;
/
二、case语句
当执行多重条件分支语句时,使用case语句更加简洁、而且效率也更好。case语句处理多重条件分支语句有两种方法,第一种方法是使用单一选择符进行等值比较。第二种方法是使用多种条件进行非等值比较。
1、使用单一选择符进行等值比较
当执行case语句执行多重条件分支时,如果条件选择符完全相同,并且条件表达式为相同条件选择,那么可以选择单一选择符进行等值比较,语法如下:
case 条件选择符
when 条件值表达式1 then 要执行的操作1;
when 条件值表达式2 then 要执行的操作2;
。。。。。。。
else
要执行的操作。
end case;
示例如下:
declare
v_count number;
begi
select count(*) into v_count from cip_temps;
case v_count
when 1 then
dbms_output.put_line('when 1操作___v_cont的值:'|| v_count);
when 5 then
dbms_output.put_line('when 5操作___v_count的值:'|| v_count);
when 10 then
dbms_output.put_line('when 10操作____v_count的值:'|| v_count);
else
dbms_output.put_line('else操作____v_cout的值:'||v_count);
end case;
end;
/
2、case使用多种条件进行比较
如果选择多个条件进行不同比较时,那么必须在when子句中指定比较条件,语法如下:
case
when 条件值表达式1 then 要执行的操作1;
when 条件值表达式2 then 要执行的操作2;
。。。。。。。
else
要执行的操作。
end case;
示例如下:
declare
v_count number;
begin
select count(*) into v_count from cip_temps;
case
when v_count>10 then
dbms_output.put_line('when 1操作___v_cont的值:'|| v_count);
when v_count>5 then
dbms_output.put_line('when 5操作___v_count的值:'|| v_count);
when v_count>4 then
dbms_output.put_line('when 10操作____v_count的值:'|| v_count);
else
dbms_output.put_line('else操作____v_cout的值:'||v_count);
end case;
end;
/
三、循环语句
三种循环:基本循环、while循环、for循环语句。
1、基本循环
循环语句以loop开始,以end loop结束,其语法如下:
loop
statement1;
。。。。。。
exit[when condition];
end loop;
注意:当执行基本循环语句时,无论是否满足条件,语句至少会被执行一次,当condition为true时,会推出循环。并执行end loop后的相应操作。当编写基本循环语句时,一定要有exit语句,否则会出现死循环,另外还要定义循环控制变量。
示例如下:
declare
i int:=1;
begin
loop
dbms_output.put_line(i);
exit when i=10;
i:=i+1;
end loop;
end;
/
2、while循环
对于while循环,只要条件为true时,才执行循环体内语句。while循环以while...loop开始,以end loop结束。其语法如下:
while 条件 loop
语句1;
语法2;
end loop;
当条件为true执行循环体内语句,当条件为false或full时,则跳出循环执行end loop以后的语句,另外还要定义循环控制变量。
示例如下:
declare
i int:=1;
begin
while i<=10 loop
dbms_output.put_line(i);
i:=i+1;
end loop;
end;
/
3、for循环
当使用for循环时,oracle会隐藏定义循环控制变量(即不需要人工定义循环控制变量),语法如下:
for counter in[reverse]
lower_bound..upper_bound loop
statement1;
statement2;
..........
end loop;
注意:counter循环控制变量,oracle会隐藏定义,lower_bound和upper_bound分别对应于循环变量的下界值和上界值,默认情况下,当使用for循环时,每次循环时循环控制变量会自动增一;如果指定reverse选项,那么每次循环时循环变量会自动减一。示例如下:
declare
begin
for i in reverse 1..10 loop
dbms_output.put_line(i);
end loop;
end;
/
分享到:
相关推荐
Oracle数据库学习整理出来的控制语句结构,提供给大家参考哦
1.9 Oracle使用自己的工具—应用软件 1.10 Oracle InterOffice 1.11 Developer/2000与Designer/2000 1.12 Personal Oracle 1.13 服务 1.14 Oracle用户组—事件和出版物 1.15 Oracle的数据仓库 1.16 网络计算 1.17 本...
《Oracle学习手册》以Oracle for Windows 为平台,由浅入深地介绍Oracle Database 系统的使用方法和基本管理。主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言...
1.9 Oracle使用自己的工具—应用软件 1.10 Oracle InterOffice 1.11 Developer/2000与Designer/2000 1.12 Personal Oracle 1.13 服务 1.14 Oracle用户组—事件和出版物 1.15 Oracle的数据仓库 1.16 网络计算 1.17 本...
Oracle 12c数据库实例启动和关闭详解.pdf ...Oracle 12c实验-管理控制文件.pdf Oracle 12c实验-管理数据文件和临时文件.pdf Oracle 12c实验-管理重做日志.pdf Oracle 12c实验-归档模式&非归档模式.pdf
主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言基础、使用SQL*Plus、PL/SQL程序设计、存储过程、触发器和程序包、表、模式对象管理、安全管理以及基本的备份与...
主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言基础、使用SQL*Plus、PL/SQL程序设计、存储过程、触发器和程序包、表、模式对象管理、安全管理以及基本的备份与...
│ ORACLE学习笔记(二)oracle的逻辑结构 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht │ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - ...
1. 为有意从事oracle dba工作人员提供学习指导。 2. 提供oracle数据库dba日常管理方法。 3. 掌握oracle数据库体系机构,为oracle优化奠定基础。 三、适合人群: 1.有意从事oracle 数据库工作,担任dba角色的人员; ...
第4课 Oracle数据库的参数文件,控制文件,数据文件和日志文件 第5课 Oracle体系架构简述 第6课 Oracle数据库的对象(1) 第7课 Oracle数据库的对象(2) 第8课 复杂一些的SQL语句 第9课 学写存储过程和函数 第10课...
主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言基础、使用SQL*Plus、PL/SQL程序设计、存储过程、触发器和程序包、表、模式对象管理、安全管理以及基本的备份与...
oracle文件学习精华课件,美创公开课内容 参数文件、控制文件、redo、undo、数据文件等等均有详细阐述。
3-1-Oracle数据库知识 PLSQL控制结构 共25页.ppt 4-1-异常处理 共87页.ppt 4-2-过程与函数 共62页.ppt 4-3-在PLSql中使用sql 共98页.ppt 5-1-DistributedDatabaseSystem分布式数据库系统技术介绍 共54页.ppt 5-1-...
无论你之前学了关于ORACLE数据库的哪些内容,如果你希望能够学习好ORACLE数据库,请认真学习它的体系结构,它是学习ORACLE的基石,是其他所有学习的根本。 第一章 数据库体系结构概述 第二章 创建数据库 第三章 ...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
2 Oracle 服务器入门 目标 2-2 数据库管理工具 2-3 Oracle 通用安装程序 2-4 交互式安装 2-5 使用反应文件的非交互式安装 2-6 Oracle 数据库配置助手 2-8 最优灵活体系结构(OFA) 2-9 Oracle 软件和文件位置 2-10 ...
* 数据库由数据文件(包含oracle 数据、索引、表结构等数据)、控制文件(包括每个表的操作信息)、日志文件(数据操作sql语句)、参数文件、口令文件、日志归档文件(归档模式下)(服务器崩溃、硬盘损坏情况下,...
学习Oracle 11g的新特性 第2章-Oracle 11g的安装与测试 能够使用Oracle 11g的基本条件 在Windows 2003上安装Oracle 11g 移除Oracle 11g 第3章-熟悉数据库 什么是数据库 范式,设计关系型数据库的准则 绘制...
第2章 Oracle体系结构,包括Oracle数据库逻辑结构和数据库物理结构以及Oracle文件的目录结构等。在案例精讲中对数据块校验、表的移动、数据文件丢失或损坏、丢失控制文件、数据文件更名以及数据库内文件的复制传输等...