有时候一些复杂的业务逻辑将要通过存储过程的循环语句进行处理;以下列出2种DB2存储过程的循环语句,方便以后的查看并使用!

推荐第一种方式的使用,最大的优点就是比较直观;在需要操作很多字段的情况下,不需要定义太多的字段变量作为中间存储媒介.

一.FOR方式(FOR .. AS [游标名] CURSOR FOR [SELECT......])

BEGIN --语句块,必须要加上,否则会出错.
FOR V AS MYCURSOR CURSOR FOR SELECT ID,NAME,AGE FROM PEOPLE
DO
BEGIN
--这里进行业务逻辑处理,每行循环的时候,每列的值将会存放于V变量中
--示例: 把数据插入到另外一张表
INSERT INTO PERSON(NAME,AGE) VALUES(V.NAME,V.AGE);
END;
END FOR;
END;

二.WHILE方式(DECLARE [游标名] CURSOR FOR [SELECT.....])

 BEGIN --语句块,必须要加上,否则会出错.
DECLARE NOTFOUND INT DEFAULT 0;
DECLARE V_NAME VARCHAR(20);
DECLARE V_AGE VARCHAR(20); DECLARE MYCURSOR CURSOR FOR SELECT NAME,AGE FROM PEOPLE;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET NOTFOUND = 1;
WHILE NOTFOUND = 0 DO FETCH MYCURSOR INTO V_NAME,V_AGE --这里的顺序要与查询结果字段顺序一致
--这里会多循环一次,所以需要加一个判断
IF(NOTFOUND = 0)
THEN
INSERT INTO PERSON(NAME,AGE) VALUES(V_NAME,V_AGE);
END IF;
END WHILE;
END; 复制自网友,原文地址:https://www.cnblogs.com/javalism/p/3511742.html

DB2(Procedure)存储过程遍历循环!的更多相关文章

  1. oracle procedure存储过程

    1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS/AS 变量1 ; 变量2 DATE: BEG ...

  2. Oracle job procedure 存储过程定时任务

    Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...

  3. 【转】Oracle job procedure 存储过程定时任务

    原文:Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相 ...

  4. 数组复制的五种方式(遍历循环一一赋值、System.arraycopy、地址赋值、克隆clone()、Arrays.copyof())

    package com.Summer_0424.cn; import java.util.Arrays; import java.util.concurrent.CopyOnWriteArrayLis ...

  5. Oracle job procedure 存储过程定时任务(转自hoojo)

    Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...

  6. 微信小程序之使用wx:for遍历循环

    效果图如下: 实现代码如下:type.js: // pages/type/type.js Page({ /** * 页面的初始数据 */ data: { types: "" }, ...

  7. C#的foreach遍历循环和隐式类型变量

    C#的foreach遍历循环和隐式类型变量 foreach遍历循环 foreach (<baseType> <name> in <array>>) { //c ...

  8. ORACLE存储过程,循环语法和游标

    1.定义所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.在使用时候,用户通过指定已经定义的存储过程名字并给出 ...

  9. Oracle数据库自动备份SQL文本:Procedure存储过程,View视图,Function函数,Trigger触发器,Sequence序列号等

    功能:备份存储过程,视图,函数触发器,Sequence序列号等准备工作:--1.创建文件夹 :'E:/OracleBackUp/ProcBack';--文本存放的路径--2.执行:create or ...

随机推荐

  1. DP常用模板

    递推模板: 从结果往回推,需要设定边界为无穷大,并建立状态转移方程 ;j<n;j++) d[n][j]=a[n][j];///边界处理 ;i>=;i--){ ;j<i;j++)/// ...

  2. findHomography(src_points, dst_points, CV_RANSAC)

    Homography,即单应性,该函数用于求src_points转换为dst_poinsts的单应性矩阵: 为了理解单应性,必须先引入透视变换的概念:把空间坐标系中的三维物体或对象转变为二维图像表示的 ...

  3. Hello2 分析

    一.打开GreetingServlet.java文件以查看它 hello2应用程序是一个web模块,hello2应用程序的行为几乎与hello1应用程序相同,但是它是使用Java Servlet技术实 ...

  4. vue学习笔记——路由

    1 路由配置 在vue.config中配置,则在代码中可以使用 @来表示src目录下 import aa from '@/aa/index.js' 2 单页面可以懒加载 3 创建动态路由 路由中定义: ...

  5. [转]ANTS Performance Profiler和ANTS Memory Profiler 使用

    .NET性能调优之一:ANTS Performance Profiler的使用   .NET性能调优系列文章 系列文章索引 .NET性能调优之一:ANTS Performance Profiler的使 ...

  6. Delphi操作Ini文件

    Delphi提供了一个TInifile类,使我们可以非常灵活的处理INI文件 一.INI文件的结构[小节名]ini文件       关键字1=值1       关键子2=值2INI文件允许有多个小节, ...

  7. pj2--图书管理系统

    这一次做得是图书管理系统. 下面是功能框图 下面是流程图 实际在做这个项目的时候根据相应的实际情况对功能流程等等做了一些小小的改变. 下面是一些值得记一笔的地方. 1.借用系统自带的导航控件(Bind ...

  8. pytorch下的lib库 源码阅读笔记(2)

    2017年11月22日00:25:54 对lib下面的TH的大致结构基本上理解了,我阅读pytorch底层代码的目的是为了知道 python层面那个_C模块是个什么东西,底层完全黑箱的话对于理解pyt ...

  9. 读书笔记——《redis入门指南(第2版)》第四章 进阶——4.1-5

    .1事务 redis中事务是一组命令的集合. 事务同命令一样都是redis的最小执行单位,Redis保证一个事务中的命令要么都执行,要么都不执行.如果redisClient在发送EXEC命令前掉线,则 ...

  10. NodeJS学习之win10安装与sublime配置

    Window 上安装Node.js Node.js安装包及源码下载地址为:https://nodejs.org/en/download/ 下载安装就行了,安装node会同时安装npm. sublime ...