网站首页 > 数据库 / 正文
概述
最近开发有个需求: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方面的内容,感兴趣的朋友可以关注下~
Tags:oracle 用户 表
- 上一篇:使用toad 增加oracle表空间
- 下一篇:Oracle 优化表分区
猜你喜欢
- 2024-11-26 一文看懂Oracle数据库表空间设计--ASM/BFT/OMF
- 2024-11-26 Oracle表空间扩容
- 2024-11-26 日常运维笔记--oracle rac表空间扩容问题
- 2024-11-26 Linux日常小技巧Oracle导出表结构
- 2024-11-26 详解Oracle数据库表空间设计--ASM/BFT/OMF综合使用
- 2024-11-26 ORA-01720:不存在SYS.DUAL的授权选项的解决方案
- 2024-11-26 Oracle Database 23ai 中的大文件表空间收缩
- 2024-11-26 从零开始学习Oracle之数据库和数据表的基本操作
- 2024-11-26 Oracle 优化表分区
- 2024-11-26 使用toad 增加oracle表空间