如何解决Oracle批量修改问题
这篇文章给大家分享的是有关如何解决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_newbsetb.aka065=(SELECTa.aka065FROMa_2017aWHEREa.aka060=b.aka060),b.aka166=(SELECTa.aka166FROMa_2017aWHEREa.aka060=b.aka060)WHEREb.aka060in(SELECTa.aka060FROMa_2017a);
感谢各位的阅读!关于“如何解决Oracle批量修改问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。