为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: dm 8
【操作系统】:win11
【CPU】:ryzem 5800
【问题描述】*:某个 merge into sql 当它批量执行1条,100条 sql时是正常执行,但当它执行 1000 条sql时会报这个错误,sql 里根本没有 > 这个符号,勾起来的那是省略号,里面全是 union all 拼接起来的 sql。
回答 0
暂无回答
hql
有具体测例子不:
一方面,建议prepare一次的select from dual,做批量绑定。
另一方面,针对您当前现有用法,应该在普通接口上也是没问题的:(使用disql)
./disql SYSDBA/xxx -E 'create table t1(v1 int,v2 int);'
rs="";for vs in {1..4096};do rs=$rs" union select ?,?";done;echo $rs;sql='explain merge into t1 using (select ? v1,? v2 '$rs') f on t1.v1=f.v1 when matched then update set v2=f.v2' ;echo $sql;./disql SYSDBA/xxx -e "$sql"
有具体测例子不:
一方面,建议prepare一次的select from dual,做批量绑定。
另一方面,针对您当前现有用法,应该在普通接口上也是没问题的:(使用disql)
./disql SYSDBA/xxx -E 'create table t1(v1 int,v2 int);' rs="";for vs in {1..4096};do rs=$rs" union select ?,?";done;echo $rs;sql='explain merge into t1 using (select ? v1,? v2 '$rs') f on t1.v1=f.v1 when matched then update set v2=f.v2' ;echo $sql;./disql SYSDBA/xxx -e "$sql"
上述命令可以成功执行,说明在测验范围类,应该不会报错。