zoukankan      html  css  js  c++  java
  • ORACLE多表关联UPDATE 语句

    1) 最简单的形式

    SQL 代码

     --经确认customers表中所有customer_id小于1000均为'北京'

    --1000以内的均是公司走向全国之前的本城市的老客户:)
    update customers
    set city_name='北京'
    where customer_id<1000

    2) 两表(多表)关联update -- 仅在where字句中的连接

    SQL 代码
    --这次提取的数据都是VIP,且包括新增的,所以顺便更新客户类别
    update customers a -- 使用别名
    set customer_type='01' --01 为vip,00为普通
    where exists (select 1
    from tmp_cust_city b
    where b.customer_id=a.customer_id
    )

    3) 两表(多表)关联update -- 被修改值由另一个表运算而来

    SQL 代码
    update customers a -- 使用别名
    set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id)
    where exists (select 1
    from tmp_cust_city b
    where b.customer_id=a.customer_id
    )
    -- update 超过2个值
    update customers a -- 使用别名
    set (city_name,customer_type)=(select b.city_name,b.customer_type
    from tmp_cust_city b
    where b.customer_id=a.customer_id)
    where exists (select 1
    from tmp_cust_city b
    where b.customer_id=a.customer_id
    )
  • 相关阅读:
    Graphviz安装配置
    固定ip
    机器学习基础
    研究生入学感悟
    复试临时练习
    复试临时练习
    Dev-C++回文数遇到的小麻烦
    单例模式
    工厂方法模式
    Spark的checkpoint详解
  • 原文地址:https://www.cnblogs.com/liyingxian5/p/8250815.html
Copyright © 2011-2022 走看看