【求助】弱弱地问一下,想更新Oracle库中某个字段的批量数据,如何写sql语句更新或替换??比如说,我要更新Oracle库中,个人信息表t_ab01中的某一字段身份证aac002,手头上有10000多个人的身份证新号码,想替换进去,如何写这个语句?
解决方案 »
- RAC集群安装出现Notification Server Configuration Assistant异常
- 一个关于查询的问题
- Oracle Form6i 怎样在列印txt档时设置参数add_parameter?
- ltrim函数不能剔除左侧的0
- oracle9i的rman备份,能不能恢复到10G啊?
- oracle 11g连接问题
- 请问高手!ORACLE快照过旧,怎么解决???
- 50分,求一个统计语句
- sqlplus如何调用存储过程,谢谢
- oracle中如何移除所有用户对某张表的delete、update以及drop、alter功能呢?
- oracle dblink 出现的问题
- 2个表的关联查询和3个表的关联查询
update t_ab01
set aac002='2148,2145,2144'
where id=1"这个语句更新的话,要set多少????(因为有10000万多条记录)
如何写这样的语句来替换库中的数据???
那是我简要表述了一下,不准确。
意思就是纵向更新某一列或几列???
示例如下:
update t_ab01
set aac002 in ('123456789012345678','12345678901234567x',‘……') --身份证号,一万多条,在此省略;
where aac001 in ('081235','045670','……') --个人编号,一万多条,在此省略;
这样子,更新估计不行,因为数据量太大,请各路高手指教,如何写这样的sql语句,既能实现批量更新某几列字段的值,而且效率比较高;
保存为excel,写个工具类实现批量导入操作。第二个方法,先把这些身份证号码,导入到一个临时表,然后写个过程,定义游标读取,然后写入即可。第三个方法,如果仅仅10000条,复制粘贴到表中也不会太长时间估计也就2~5分钟就可以。
然後
update tb1 t1 set t1.aac002=(select tb2.aac002 from tb2 t2
where t2.id=t1.id)