通过DbVisualizer 工具运行DB2存储过程实现INSERT语句主键自增造数
1.需求简介
最近开发人员需要进行一批数据进行生产上SQL语句耗时过长问题的验证与优化。所以在性能测试库中批量建造数据,由于交易本身业务逻辑过于复杂以及需要各种授权,最后决定采用插表的方式完成。
2.所用工具
DbVisualizer 10.0.14(已破解)(并不需要本地存在DB2客户端,DbVisualizer本身通过JDBC驱动,所以本地要有Java环境,最好是Java1.8)
3.详细过程
本身并不复杂,但是现在基本上已MySQL以及Oracle为主,所以还是踩了几个坑。
(1)由于不是在DB2客户端命令行运行脚本的方式运行,在DbVisualizer中运行需要对存储过程进行定义,否则会报 CODE -104错误。
(2)由于造数的多张表主键大部分为流水号或者日期等(例:20180905204132),所以在存储过程中定义循环 变量的时候,会报错,应该是支撑不了这么大长度的变量定义。
在网上有解决办法,但是是对本地DB2环境变量进行配置,故本次造数过程采用 变量拼接的方式进行数据库主键的插入。
存储过程:(由于涉及数据敏感,故对INSERT语句进行了修改,请按照本身需求更改)
--/ -----此处对存储过程进行声明
begin atomic
declare i integer;
set i=14000021;
while i<=14000080 do
INSERT
INTO
OMS_BANK_TRANFLOW_INFO
(
OBI_TRANFLOWNO,
OBI_BIE,
OBI_BME,
OBI_IE,
)
VALUES
(
'私房菜',
'CNY',
'0.01',
''||trim(char(i)),
'',
);
set i=i+1;
end while;
END
/ -----此处对存储过程进行声明,与开头对应
说明:'201809'||trim(char(i)) 是对主键的拼接,上述代码主键插入的值为20180914000021~20180914000080,共计60条数据。
通过DbVisualizer 工具运行DB2存储过程实现INSERT语句主键自增造数的更多相关文章
- mybatis使用注解往postgresql数据库表insert数据[主键自增]的写法
建表SQL: DROP TABLE IF EXISTS person; CREATE TABLE person( person_id serial PRIMARY KEY NOT NULL, pers ...
- Mybatis insert 获取主键自增id
Mybatis insert 返回自增主键 mysql 准备一张带有自增主键的表users 字段:id,name,phone sql <!--插入记录并获取刚插入记录的主键--> < ...
- MyBatis insert返回主键(sqlserver2008)
mybatis insert返回主键(sqlserver2008) MyBatisXML配置,下面两种方式都行 方式1: <insert id="insert" para ...
- postgresql + mybatis insert主键自增方法
postgresql + mybatis插入记录时设置自增主键方法: 一.数据库设置主键自增 1.数据库中id字段选择serial4类型后,会在默认值中生成 nextval('app_id_seq': ...
- Mybatis批量insert 返回主键值和foreach标签详解
Mybatis批量insert 返回主键 Mybatis从3.3.1版本开始,支持批量插入后返回主键ID.首先对于支持自增主键的数据库使用useGenerateKeys和keyProperty,对于不 ...
- Mybatis里Mapper映射sql文件里insert的主键返回selectKey使用
有时候新增一条数据,知道新增成功即可,但是有时候,需要这条新增数据的主键,以便逻辑使用,再将其查询出来明显不符合要求,效率也变低了. 这时候,通过一些设置,mybatis可以将insert的数据的主键 ...
- 【mybatis】mybatis中insert 主键自增和不自增的插入情况【mysql】
主键不自增:返回值是插入的条数 <insert id="add" parameterType="EStudent"> insert into TSt ...
- mybatis添加数据时返回主键 insert 返回主键值
insert 返回主键值 useGeneratedKeys=“true” parameterType=“USer” keyProperty=“id”, <insert id="inse ...
- SQL 创建存储过程,让主键自增
1. 首先创建存储过程: 2. 然后分别创建序列,生成基金公司编号.基金代码.活期账号.理财账号.基金账户.合同号.要求如下: 基金公司编号,字母K+5位数字. 基金代码,字母V+6位数字. 活期 ...
随机推荐
- python之有用的3个内置函数(filter/map/reduce)
这三个内置函数还是非常有用的,在工作中用的还不少,顺手,下面一一进行介绍 1.filter 语法:filter(function,iterable) 解释:把迭代器通过function函数进行过滤出想 ...
- Mongodb 无法启动 windows Mongodb 无法启动 couldn't connect to server
发现在mongodb.log里出现 2017-07-07T17:01:55.339+0800 I CONTROL [main] Error connecting to the Service ...
- 写好Java代码的30条经验总结
成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的.下面就让我们来看看代码编写的30条建议吧. (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中 ...
- odoo开发笔记 -- 后台日志输出及分析
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件
- Difference Between Session.run and Tensor.eval
[Question]: TensorFlow has two ways to evaluate part of graph: Session.run on a list of variables an ...
- Zabbix4.2.0使用Python连接企业微信报警
目录 1. 配置企业微信 2. 脚本配置 2.1 安装python依赖的库 2.2 编写脚本 2. 搭建FTP 3. 配置Zabbix监控FTP 3.1 添加FTP模板 3.2 添加报警媒介 3.3 ...
- GTest的安装与使用
安装GTest 1.安装源代码 下载gtest,release-1.8.0 git clone https://github.com/google/googletest gtest编译 cd goog ...
- 二、Windows下TortoiseGit的安装与配置
TortoiseGit 简称 tgit, 中文名海龟Git. 海龟Git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和TortoiseGit都是非常优秀的开源的版 ...
- HAPRoxy(一):HAProxy基本配置、调度算法与tcp、http、heath模式配置示例
一.HAProxy安装 1.HAProxy简单介绍 HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡. 2.yum安装HAProxy ...
- IdentityServer4 中文文档 -6- (简介)示例服务器和测试
IdentityServer4 中文文档 -6- (简介)示例服务器和测试 原文:http://docs.identityserver.io/en/release/intro/test.html 目 ...