zoukankan      html  css  js  c++  java
  • sql: update from

    sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式 中引用要更新的表以外的其它数据. 实际更新的操作是在要更新的表上进行的,而不是在from子句所形成的新的结果集上进行的。

    一般形式: update A SET 字段1=B表字段表达式, 字段2=B表字段表达式   from B WHERE    逻辑表达式
    例如:
        UPDATE dbo.Table2
        SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB   ---将满足下面条件的dbo.Table2.ColB字段更新:
        FROM dbo.Table2                        --- 条件是:dbo.Table2.ColA = dbo.Table1.ColA
        INNER JOIN dbo.Table1
        ON (dbo.Table2.ColA = dbo.Table1.ColA);

    再例如:

    UPDATE EMF_GROUPS
    SET EMF.group_status = v_new_status ---将满足一下条件的EMF_GROUPS.group_status更新为input的值

    FROM EMF_GROUPS EGR, EMF,EMF_PRODUCTS EP  ---这里from语句把EMF_PRODUCTS和EMF_GROUPS联系起来
    WHERE EP.account_no_bill_rc = v_account_no ---条件:EP.xx=... and EMF.xxx=....,....
    and EMF.subscr_no = EP.subscr_no
    and EMF.equip_group_id = EGR.equip_group_id

    附:JOIN, INNER JOIN的用法: http://www.w3school.com.cn/sql/sql_join.asp

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons, Orders
    WHERE Persons.Id_P = Orders.Id_P 
    等同于
    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    INNER JOIN Orders
    ON Persons.Id_P = Orders.Id_P
    ORDER BY Persons.LastName


  • 相关阅读:
    [函數] Firemonkey Android 取得系统参数设定的字型大小
    [示例] 访问类的私有属性
    [修正] 移动平台曲线不平滑的问题(如:TRectangle, TPath...等)
    [修正] Firemonkey TSelection 控件等比缩放时,左下角拉动问题
    [修正] iOS 10 使用相机及相簿闪退的问题修正
    报表之表头
    报表字段刷新
    tfs解除锁
    sql server中排名的问题
    TFS查询无法在Excel中打开
  • 原文地址:https://www.cnblogs.com/mylinux/p/5000001.html
Copyright © 2011-2022 走看看