dkfr.net
当前位置:首页 >> orAClE 中怎么大批量的执行UPDATE语句 >>

orAClE 中怎么大批量的执行UPDATE语句

你可以写一个PLSQL命令块通过执行UPDATE命令 begin for i in 1 .. 100000 loop update a set a.1=x where a.2=i if mod(i,5000)=0 then commit; end if; end loop; end; /

如果存在则替换,不存在保留原值 update table2 set people = (select NAME from table1 where table1.id = table2.id) where exists (select NAME from table1 where table1.id = table2.id)

其实二楼写的最简单,但对于新手,最好别那么写,至于1楼,如果数据不是很多,没必要搞个游标。你也可以看看我写的 create or replace procedure P_Update(o_vc_message out varchar2) is type column1 is table of table1.column1%type index b...

方法一: 采用存储过程,使用循环,限制更新的条数,效率不是很高。。 方法二: 建立和目标表一样的结构的临时表(基于事务的临时表,保证主键一样),使用视图更新的操作。 update( select a.A列,b.A列 from t1 a,temp_t1 b where a.id=b.id) s...

可以直接更新多字段的,只要你有逻辑就行了 update tablename set yjd='',bn='',qsjd='' where ......

可通过以下方法: 以100条数据为例,如果海量数据可参考。 如test表中有如下数据: 现要将begintime改成当前时间,每10条提交一次。 可用如下存储过程: declare i int;--定义变量v_count int;--定义变量v_loop int;--定义变量begin select coun...

一、 提高DML操作的办法: 简单说来: 1、暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建. 2、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间. 3、创建一临时的大的表空间用来应对这些更新动作. 4、...

如果是一个表,就是update 表 set 列=值 where 列=条件。。。 如果多表联动,那可以用存储过程或是触发器 问题太笼统,描述详细一些吧

UPDATE 是肯定达不到你的要求的,update只能修改数据,如果表1和表2的记录数都不同,不管怎么UPDATE都达不到相同的结果

update tal set name=replace(name,'广东省','湖南省') where name like '广东省%'

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com