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

最新文章

  1. JSP九大内置对象的作用和用法总结?
  2. 在Linux命令行窗口中,怎么向上翻页?
  3. Android Studio之could not reserve enough space for object heap
  4. dreamweaver批量去除空格,空行
  5. ruby中输入命令行编译sass(ruby小白)
  6. SL.XNA中的Popup
  7. java中权限修饰符protected的使用注意事项
  8. 正则表达式,提取html标签的属性值
  9. C# 中的#if、#elif、#else、#endif等条件编译符号
  10. HDMI热插拔检测原理
  11. IP的面向无连接状态
  12. Python3基础 list [] 创建整数列表
  13. Ubuntu16.04上用源代码安装ICE
  14. 模拟赛 sutoringu
  15. Git: fatal: Pathspec is in submodule
  16. ./configure、make、make install 命令
  17. 计算概论(A)/基础编程练习1(8题)/6:判断闰年
  18. b6
  19. uploadfiy 3.0
  20. androidtab

热门文章

  1. boost::bind的使用方法
  2. 《Python学习手册》
  3. Android zip文件压缩解压缩
  4. 1354 - IP Checking(水题)
  5. Threejs 官网 - Three.js 的图形用户界面工具(GUI Tools with Three.js)
  6. centos安装vim7.4
  7. Linq实现t-Sql的各种连接
  8. POJ 1562(L - 暴力求解、DFS)
  9. 树莓派安装ftp服务器
  10. USACO Cow Pedigrees 【Dp】