通過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條數據。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM