DB2(Procedure)存储过程遍历循环!
推荐第一种方式的使用,最大的优点就是比较直观;在需要操作很多字段的情况下,不需要定义太多的字段变量作为中间存储媒介.
一.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)存储过程遍历循环!的更多相关文章
- oracle procedure存储过程
1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS/AS 变量1 ; 变量2 DATE: BEG ...
- Oracle job procedure 存储过程定时任务
Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...
- 【转】Oracle job procedure 存储过程定时任务
原文:Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相 ...
- 数组复制的五种方式(遍历循环一一赋值、System.arraycopy、地址赋值、克隆clone()、Arrays.copyof())
package com.Summer_0424.cn; import java.util.Arrays; import java.util.concurrent.CopyOnWriteArrayLis ...
- Oracle job procedure 存储过程定时任务(转自hoojo)
Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...
- 微信小程序之使用wx:for遍历循环
效果图如下: 实现代码如下:type.js: // pages/type/type.js Page({ /** * 页面的初始数据 */ data: { types: "" }, ...
- C#的foreach遍历循环和隐式类型变量
C#的foreach遍历循环和隐式类型变量 foreach遍历循环 foreach (<baseType> <name> in <array>>) { //c ...
- ORACLE存储过程,循环语法和游标
1.定义所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过编译后存储在数据库系统中.在使用时候,用户通过指定已经定义的存储过程名字并给出 ...
- Oracle数据库自动备份SQL文本:Procedure存储过程,View视图,Function函数,Trigger触发器,Sequence序列号等
功能:备份存储过程,视图,函数触发器,Sequence序列号等准备工作:--1.创建文件夹 :'E:/OracleBackUp/ProcBack';--文本存放的路径--2.执行:create or ...
随机推荐
- linux基础之bash特性
linux基础之bash特性 1.命令历史 命令历史包含的环境变量 $HISTSIZE:命令历史记录的条数 $HISTFILE:命令历史文件~/.bash_history $HISTFILESIZE: ...
- SQL-记录查询篇-009
在学习记录查询之前,学习一些关键字的使用: 1.逻辑运算符:and . or . not .is null select * from table_name where id>2 and ...
- python:用wordcloud生成一个文本的词云
今天学习了wordcloud库,对<三国演义>生成了词云图片,非常漂亮.就想多尝试几个,结果发现一系列问题.最常出现的一个错误就是"UnicodeDecodeError : .. ...
- kolla单节点部署openstack
virtualbox环境: 双网卡:enp0s3(桥接) 192.168.102.194 enp0s8(桥接) 无ip 块存储 50G 关闭防火墙,selinux. 配置yum源:wget ...
- shell(3)拼写检查与词典操作
1:Linux下,在/usr/share/dict下包含了词典文件,检查一个单词是否在词典里: #!/bin/bash #文件名:checkout.sh #检查给定的单词是否为词典中的单词 word= ...
- MySQL数据实时增量同步到Kafka - Flume
转载自:https://www.cnblogs.com/yucy/p/7845105.html MySQL数据实时增量同步到Kafka - Flume 写在前面的话 需求,将MySQL里的数据实时 ...
- ubuntu12.04 64bit libncurses5-dev和libncurses5-dev:i386共存性问题讨论
ubuntu12.04 64bit 编译kernel(或者make menuconfig)源码时出现如下错误: HOSTLD scripts/kconfig/mconf scripts/kconfig ...
- 模拟器运行android镜像
编译完成后需要运行一下,看看效果,操作中出现很多问题 先说明android4.0的,然后说明一下android2.3.4的,两者是一样的 一.android4.0.1 可以参看如下链接: ht ...
- UDP广播包
一,广播地址: 广播地址是专门用于同时向网络中所有工作站进行发送的一个地址.在使用TCP/IP 协议的网络中,主机号为全1的IP地址为广播地址.例如,对于 :192.168.199.0(掩码:255. ...
- 基于MNIST数据集使用TensorFlow训练一个没有隐含层的浅层神经网络
基础 在参考①中我们详细介绍了没有隐含层的神经网络结构,该神经网络只有输入层和输出层,并且输入层和输出层是通过全连接方式进行连接的.具体结构如下: 我们用此网络结构基于MNIST数据集(参考②)进行训 ...