zOs/TX/QT002INS

//A540769Y JOB (CP00,KE50),'DB2 REO',                                   00010000
//         MSGCLASS=T,TIME=1440,                                        00020000
//         NOTIFY=&SYSUID,REGION=0M,SCHENV=DB2                          00030000
//*MAIN CLASS=LOG                                                       00040000
//*
//S1       EXEC PGM=IKJEFT01,DYNAMNBR=200,TIME=99,                      00020001
//            PARM='WS3'
//SYSPROC   DD DSN=A540769.WK.REXX,DISP=SHR
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTSPRT  DD SYSOUT=*
//OUT       DD SYSOUT=*
//SYSTSIN   DD DUMMY
//WSH       DD *
$#@
call sqlConnect dp4g
if   sql2st("select qt002part part, qt002int int from A540769x.tqt002" ,
               "order by qt002int desc" ,
               "fetch first row only", ll) > 0 then $@[
    $= pa =- m.ll.1.part+1
    $= in =- m.ll.1.int
    $] else $@[
    $= pa =- 1
    $= in =- 0
    $]
say 'last Int' $in 'part' $pa
$= cnt = 1000
ins = 0
$do ix=$in by $cnt                    $@[
    call sqlUpdate ,"insert into A540769x.tqt002" ,
        "with n(n) as ( select" $-[ix+1$] "from sysibm.sysDummy1" ,
        "   union all select n+1 from n where n<" $-[ix+$cnt$] ")",
      "select" $pa ", n, repeat('ab' || space(30),1000) from n"
    ins = ins + m.sql..updateCount
    say ins 'rows inserted at' time()
    call sqlCommit
$** call sleep 2
    if ix // 100000 = 0 then$@[
        $=pa =- 1 + $pa
        say 'next partition' $pa
        $]
    $]
call sqlDisConnect
$#out                                              20131125 14:55:54