zOs/TX/QBXC5INS

$#@
call sqlConnect dp4g
call sql2St "select strip(left(name, 30)) from sysibm.sysTables",
        "where name like 'SYS%'", nn, ":m.dst"
say m.nn.0 m.nn.1 m.nn.2
m.timing_say = 1
if 1 then $@[
call sqlQueryPrep 5, "select",
         "value(max(XC502_DOC_CONTENT_SEQ)+1, 1)" ,
         "from qtxCry.tQBXC5a1 where XC502_PART_NUMBER = ?",
              "and XC502_doc_uuid = ? and XC502_doc_format = ?" ,
        , ":m.ii"
call sqlUpdPrep 7, "insert into qtxCry.tQBXC5a1",
    "values(cast(? as char(3)), cast(? as char(30))" ,
         ", cast(? as char(3))" ,
         ", ?" ,
         ", cast(? as varchar(5000)))"
cIns = 0
call timing , , 'start'
do cx=1 to 10
    do nx=1 to m.nn.0
        cIns = cIns + 1
        fo = 'fo' || (nx // 5)
        px = right((nx // 5) + 1, 3, 0)
        call sqlQueryArgs 5, px, m.nn.nx, fo
        call sqlFetch 5
        call sqlClose 5
        call sqlUpdArgs 7, px, m.nn.nx, fo, m.ii ,
                         , copies(cx nx m.nn.nx '/ ',99)
        end
    end
call timing , , 'sels+inserts' cIns
$] else if 0 then $@[
call sqlUpdPrep 7, "insert into qtxCry.tQBXC5a1",
    "select cast(? as char(3)), cast(? as char(30))" ,
         ", cast(? as char(3))" ,
         ", value(max(XC502_DOC_CONTENT_SEQ)+1, 1)" ,
         ", cast(? as varchar(5000))" ,
         "from qtxCry.tQBXC5a1 where XC502_PART_NUMBER = ?",
              "and XC502_doc_uuid = ? and XC502_doc_format = ?"
cIns = 0
call timing , , 'start'
do cx=1 to 10
    do nx=1 to m.nn.0
        cIns = cIns + 1
        fo = 'fo' || (nx // 5)
        px = right((nx // 5) + 1, 3, 0)
        call sqlUpdArgs 7, px, m.nn.nx, fo,
                         , copies(cx nx m.nn.nx '/ ',99),
                         , px, m.nn.nx, fo
        end
    end
call timing , , 'inserts' cIns
$] else if 0 then $@[
call sqlUpdPrep 7, "insert into qtxCry.tQBXC5a1",
    "with d (p, u, f) as" ,
    "(select cast(? as char(3)), cast(? as char(30)), 'fo' " ,
          "from sysibm.SysDummy1)",
    "select p, u, f, (select value(max(XC502_DOC_CONTENT_SEQ)+1, 1)" ,
         "from qtxCry.tQBXC5a1 where XC502_PART_NUMBER = d.p",
              "and XC502_doc_uuid = d.u and XC502_doc_format = d.f)" ,
         ", cast(? as varchar(5000))" ,
         "from d"
do cx=1 to 5
    do nx=1 to m.nn.0
        px = right((nx // 5) + 1, 3, 0)
        call sqlUpdArgs 7, px, m.nn.nx, copies(cx nx m.nn.nx '/ ',99)
        end
    end
$]
$#out                                              20140505 17:27:16
$#out                                              20140505 17:15:42
$#out                                              20140505 17:12:12
$#out                                              20140505 16:28:50
$#out                                              20140505 16:28:15