专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

一文总结ORACLE 两表关联更新常见实现方式

ins518 2024-10-27 12:12:58 技术文章 30 ℃ 0 评论

概述

最近开发有个需求:L表的PK_NO对应N表的PACKNO,需要将N表的prepackicode更新为L表的PK_ID

其实就是两表关联更新了,这里简单记录一下常见实现的方式..


表内容

select * from LPN_TEST L;
select * from ncic_lpn N;




实现方式

注意以下两种方法都需要两张表都有主键,如果没主键执行不了的。

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
)t
set T.prepackicode=T.PK_ID; 


2、merge更新

merge into (select N.PACKNO,N.prepackicode from ncic_lpn N) T
using LPN_TEST L
on (T.PACKNO = L.PK_NO)
when matched then 
  update set T.prepackicode=L.PK_ID;



觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表