解决Oracle批量修改问题
问题:根据唯一字段编码修改其它字段,修改部分数据,数量在上万条数据,数据大,一开始就卡死了!笨办法,一条一条修改不知可年可月啊。其他方法个人原因实在是无能为力。如下:
updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-2V'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-2W'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-2X'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-2Y'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-2Z'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-31'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-32'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-33'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-34'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-35'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-36'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-37'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-38'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-39'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3A'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3B'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3C'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3D'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3E'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3F'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3G'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3H'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3I'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3J'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3K'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3L'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3M'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3N'; updateka02_newsetaka065=1,aka166=1whereaka060='X-P02CA-A010-A001-3O'; ....
百度结果:百度了一下,很多解决方案,有的写的很粗糙,完全不理解,也许自己水平问题。有的是自己真的看不懂,个人水平跟不上。
解决方案:最后的解决办法,还是老办法,就是新建一张临时表(表B:a_2017),把所修改的唯一字段编码和修改后的数据放在B表。sql大体如下(原表A:ka02_new,唯一字段aka060,修改的字段分别为aka065和aka166):
updateka02_newb setb.aka065= (SELECTa.aka065FROMa_2017aWHEREa.aka060=b.aka060), b.aka166= (SELECTa.aka166FROMa_2017aWHEREa.aka060=b.aka060) WHEREb.aka060in(SELECTa.aka060FROMa_2017a);
总结
以上所述是小编给大家介绍的解决Oracle批量修改问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!