通过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',
        '201809'||trim(char(i)),
        '01',   
    );
set i=i+1;
end while;
END
/        -----此处对存储过程进行声明,与开头对应

说明:'201809'||trim(char(i))  是对主键的拼接,上述代码主键插入的值为20180914000021~20180914000080,共计60条数据。

 

转载于:https://www.cnblogs.com/zcl2013070401/p/9594454.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值