通常我们获取游标数据是用 fetch some_cursor into var1, var2 的形式,当游标中的记录数不多时不打紧。然而自 Oracle 8i
起,Oracle 为我们提供了 fetch bulk collect 来批量取游标中的数据。它能在读取游标中大量数据的时候提高效率,就像 SNMP 协议中,V2
版比 V1 版新加了 GET-BULK PDU 一样,也是用来更高效的批量取设备上的节点值。
fetch bulk collect into
的使用格式是:fetch some_cursor collect into col1, col2 limit xxx。col1、col2
是声明的集合类型变量,xxx 为每次取数据块的大小(记录数),相当于缓冲区的大小,可以不指定 limit xxx
大小。下面以实际的例子来说明它的使用,并与逐条取记录的 fetch into 执行效率上进行比较。测试环境是 Oracle 10g
10210,查询的联系人表 sr_contacts 中有记录数 1802983 条,游标中以 rownum 限定返回的记录数。
你好。
你想怎么修改呢,修改逻辑是?
如果只是修改一个表的编号列,可以如下:
update 表 set 编号列=你要修改成的目标值 where 条件
因为SQL本质是基于集合的 *** 作,所以上述 *** 作会修改满足条件的所有行,即 *** 作是批量的
如果是修改多表的话,可以做进一步的处理
你可以补充一下详细的需求,好方便朋友们帮你解答~
可以通过update方法进行批量修改。
sql:update table_name SET age=25;
备注:也可以添加必要的条件,针对固定条件的数据进行批量修改。
sql:update table_name SET age=age+1 where name ='zhangsan ';
'${itemjgqr}',这儿明显不对
<foreach collection="list" item="item" index="index" open="" close="" separator="OR">
UPDATE XHXC_RWXD_JCJG
<set>
JGQR='${itemjgqr}',JGCLSM='${itemsm}'
</set>
WHERE ID='${itemid}'
</foreach>
该处的item是作为循环变量处理,你在循环内,不应该采用任何标识符再进行声明,只需要itemid这样写就可以,这表示从对象里面去的该属性
以上就是关于oracle数据库 多条bulk collect into批量处理全部的内容,包括:oracle数据库 多条bulk collect into批量处理、如何在SQL数据库批量修改编号、批量修改oracle数据库中的某一个字段等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)