DB2存储过程实现查询表数据,生成动态SQL,并执行
2015-08-27 10:16
886 查看
一、动态执行SQL
二、使用游标
三、WHILE循环
四、DB2查询表数据,生成动态SQL,并执行
PREPARE S1 FROM 'delete from test'; EXECUTE S1;
二、使用游标
DECLARE V_CURSOR CURSOR FOR SELECT DELETESQL,INSERTSQL FROM FJDC.V_I_DG_DM_ZY_WL_ZBHZ_ATTR T; OPEN V_CURSOR; FETCH V_CURSOR INTO V_DELETESQL,V_INSERTSQL; CLOSE V_CURSOR;
三、WHILE循环
WHILE true DO 表达式 END WHILE;
四、DB2查询表数据,生成动态SQL,并执行
CREATE PROCEDURE "TEST"."TEST" () BEGIN DECLARE V_DELETESQL VARCHAR(2000); DECLARE V_INSERTSQL VARCHAR(2000); DECLARE I_COUNT INT; --确定循环次数 SELECT COUNT(INSERTSQL) INTO I_COUNT FROM FJDC.V_I_DG_DM_ZY_WL_ZBHZ_ATTR T; IF I_COUNT > 0 THEN --游标 DECLARE V_CURSOR CURSOR FOR SELECT DELETESQL,INSERTSQL FROM FJDC.V_I_DG_DM_ZY_WL_ZBHZ_ATTR T; OPEN V_CURSOR; WHILE I_COUNT > 0 DO SET I_COUNT = I_COUNT-1; FETCH V_CURSOR INTO V_DELETESQL,V_INSERTSQL; --执行动态SQL PREPARE S1 FROM V_DELETESQL; EXECUTE S1; PREPARE S1 FROM V_INSERTSQL; EXECUTE S1; END WHILE; CLOSE V_CURSOR; END IF; END
相关文章推荐
- Oracle 查询阻塞
- 十个正确使用 Redis 的技巧
- Localdb数据库添加新字段 迁移过程
- Sql逗号分隔一个字符串
- linux下MongoDB查询操作
- Hibernate+SQL Server2008 时间错误
- mysql 服务端事务和客户端事务对比分析
- 使用PL/SQL连接oracle数据库
- mysql修改表、字段、库的字符集
- windows下忘记MySQL密码的修改方法--(转)
- Ubuntu下MySQL的安装与配置
- MySQL中可为空的字段设置为NULL还是NOT NULL
- Entityframework 连接 Mysql 出现闪退的问题
- mysql笔记
- mysql数据库中列转行
- 【已解决】DB2单表UPDATE数值SQL语句
- 连15随笔
- textarea和mysql中的换行符问题
- sql计算时间差执行存储过程
- MSSQLSERVER数据库- SQL删除重复数据的五种方式