当前位置:首页 > DayDayUp > 正文内容

Oracle 数据库多表联合更新

Luz2个月前 (11-30)DayDayUp400

oracle和mysql的语句有点不同,今天碰到了Oracle的库,做一下记录


update ADM_DEV_ENCODER_CHN set ADM_DEV_ENCODER_CHN.GPS_X=(SELECT "x" from GGG where ADM_DEV_ENCODER_CHN.CHANNEL_SN=GGG."id") where exists(SELECT 1 from GGG where ADM_DEV_ENCODER_CHN.CHANNEL_SN=GGG."id");


应用场景:

A表中记录的某几个字段值空缺

而B表中这几个记录有相应字段值

从B表中查找A表记录对应记录的字段值填充到A表中。


语句中A表:ADM_DEV_ENCODER_CHN

A表缺失的字段名:GPS_X

B表:GGG

B表用于补充A表数据的字段名:x

AB两表共有的字段名:ADM_DEV_ENCODER_CHN(A).CHANNEL_SN;GGG(B)."id"



where exists(SELECT 1 from GGG where ADM_DEV_ENCODER_CHN.CHANNEL_SN=GGG."id");的作用:避免执行完成后A表中出现空值




发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。