概述
最近开发有个需求:L表的PK_NO对应N表的PACKNO,需要将N表的prepackicode更新为L表的PK_ID
其实就是两表关联更新了,这里简单记录一下常见实现的方式..
表内容
select * from LPN_TEST L;select * from ncic_lpn N;
![321a4eb84add778d3f9726da8448cceb.png](https://img-blog.csdnimg.cn/img_convert/321a4eb84add778d3f9726da8448cceb.png)
实现方式
注意以下两种方法都需要两张表都有主键,如果没主键执行不了的。
1、内联视图更新
UPDATE (select L.PK_NO,L.PK_ID,N.PACKNO,N.prepackicode from LPN_TEST L,ncic_lpn N where L.PK_NO = N.PACKNO)tset T.prepackicode=T.PK_ID;
2、merge更新
merge into (select N.PACKNO,N.prepackicode from ncic_lpn N) Tusing LPN_TEST Lon (T.PACKNO = L.PK_NO)wh