Oracle --case、while、loop、for

1.  oracle中case表达式

(case  条件
        when  表达式1  then  结果1
        when  表达式2  then  结果2
       [else  结果n]
end) as 别名

2.  简单循环loop

loop
        要执行的语句;
        exit  when<条件>  /*条件满足,退出循环语句*/
end loop;

实际例子
loop
        v_tmp := v_tmp + 1;
        exit when v_tmp = 10;
end;

3.  while循环

while  <布尔表达式>  loop
         要执行的语句;
end loop;         

实际例子
begin
            v_tmp := 1;
            while v_tmp <=10 loop
             v_tmp :=v_tmp+1;
             end loop;
end;

4.  数字式循环

for 循环变量 in 【reverse】 下限..上限  loop
      要执行的语句;
end loop;
备注:每循环一次,循环变量自动加1;使用关键字reverse,循环变量自动减1。

实际例子
begin
          for v_tmp in 1..10 loop
          --自己的操作部分
          end loop;
end;
时间: 2024-09-30 07:26:11

Oracle --case、while、loop、for的相关文章

Oracle游标—for、loop、if结合应用

一.需求 什么时候会用到Oracle游标,以及其中的for.loop.if呢? 先看这样一个需求: 有一张学生授课表T_TEACHING,每个学生都有数门课程: 主键ID(自增) 课程号COURSE_ID 学号USER_ID 1 01 201501 2 02 201501 3 03 201501 4 01 201502 5 01 201503 6 01 201504 7 02 201504 ... ... ... 但是因为某些原因,导致有的学生课程不全(本应该每个学生都有3门课),应该如何把不全

Oracle用户登录和连接查询、特殊排序、over()、rank()、decode()、 case when、UNION/UNION ALL

一.登录问题 1. 忘记用户名密码: (1)默认应户名密码: system/manager    sys/change_on_install     scott/tiger (2)cmd以系统管理员身份登录: C:\Users\SAMSUNG>sqlplus system/manager as sysdba 查看所有user: SQL> select username from dba_users; 修改用户密码: SQL> alter user scott identified by

问题:Oracle出发器;结果:1、Oracle触发器详解,2、Oracle触发器示例

ORACLE触发器详解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8.2.5 使用触发器谓词 8.2.6 重新编译触发器 8.3 删除和使能触发器 8.4 触发器和数据字典 8.5   数据库触发器的应用举例 触发器是许多关系数据库系

Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等

count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age),max(age),min(age),avg(nvl(age,0)) from b_user 1       260     70      10      37.1428571428571 group by:如果前面定义了该字段名  则groupby必须也写上该字段 select name,pw

Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracle支持的数据类型: 字符型 char 定长 最大2000个字符 char(10)----'小韩' 前四个字符放'小韩',后添加6个空格补全.(查询效率高) varchar2(20) 变长 最大4000个字符 vachar2(10)----'小韩' oracle分配四个字符,这样可以节省空间. clo

蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)

***************************************声明*************************************** 个人在oracle路上的成长记录,其中以蓝自喻,分享成长中的情感.眼界与技术的变化与成长.敏感信息均以英文形式代替,不会泄露任何企业机密,纯为技术分享. 创作灵感源于对自己的自省和记录.若能对刚刚起步的库友起到些许的帮助或共鸣,欣慰不已. 欢迎拍砖,如有关技术细节表述有错误之处,请您留言或邮件([email protected])指明,

Oracle常规备份与恢复全库模式、用户模式、表模式对比

三种模式的命令语句及关键不同点(红色字体标记)如下所示: 1.全库模式导出/导入: exp 'user/[email protected]/ORACLE_SID'file='/data/backup/datafile1.dmp' log='/data/backup/datafile1_exp.log' full=y statistics=none imp 'user/[email protected]/ORACLE_SID'file='/data/backup/datafile1.dmp' lo

Java连接Oracle数据库开发银行管理系统【二、设计篇】

一.总体分析     此系统的实现并不难,但是如何更好的设计出实现方式还是需要更深入的分析,例如:如果再增加其他功能,是不是需要变动的 代码很少,只是直接再增加一点功能就可以了呢?如果使用的不是Oracle而是MySQL数据库呢?这都应该在设计阶段考虑清楚. 二.具体分析     1.创建test包并创建TestBank类,启动和运行系统.[启动]     2.创建service包         2.1 创建业务逻辑层类Bank,定义银行系统主菜单方法,以及功能的操作.         2.2

Android---28---Handler、Loop、MessageQueue的工作原理:

Handler.Loop.MessageQueue的工作原理: 先介绍一下这几个组件: Message:Handler接收和处理的消息对象 Looper:读取MessageQueue中的消息,并将读到的消息发送给Handler进行处理 MessageQueue:消息存储队列. 程序使用Handler发送消息,被发送的消息必须被指定到MessageQueue中,也就是说Handler能正常工作,必须保证当前线程中有一个MessageQueue,又因为MessageQueue是由Looper负责管理

oracle中的聚合函数count、max、min、sum、avg以及NVL函数的用法

oracle中的聚合函数count.max.min.sum.avg以及NVL函数的用法 分组函数聚合函数对一组行中的某个列执行计算执行计算并返回单一的值.聚合函数忽略空值.聚合函数经常与 SELECT 语句的 GROUP BY 子句一同使用,所以有的时候也把其称之为分组函数.这类函数通常应用于报表统计中,以下展示Oracle常用的聚合函数的应用. 分组函数的介绍 作用于一组数据,并对一组数据返回一个值. 常见的分组函数有: Count 用来计算有效数据的数量 Min 返回一个数字列或计算列的最小