SQL server 批量修改
来源:互联网 发布:软件分发平台 编辑:程序博客网 时间:2024/05/19 16:36
一、当用一个表中的数据来更新另一个表中的数据,T-SQL提供多种写法(下面列出了二种),但建议用第一种写法,虽然传统,但结构清晰。
并且要注意,当用一个表中的数据来更新另一个表中的数据时,二个表一定要有关联!
1.
update t1
where t1.c1 = t2.c1
2.
Update t1
from t1 inner join t2
示例:
UPDATE temp_Org_employee SET temp_Org_employee.mobile = c.tele FROM temp_Org_employee e INNER JOIN (SELECT a.name, b.ID, a.tele, b.mobile FROM EmplTeleTb a LEFT JOIN (SELECT * FROM temp_Org_employee WHERE DepartmentId IN (SELECT ID FROM org_Department WHERE CompanyID = 'T200812051418466710000194')) b ON a.Name = b.EmplName WHERE a.tele <> b.mobile) c ON e.ID = c.ID
示例2:
UPDATE temp_Org_employee SET temp_Org_employee.mobile = c.tele FROM (SELECT a.name, b.ID, a.tele, b.mobile FROM EmplTeleTb a LEFT JOIN (SELECT * FROM temp_Org_employee WHERE DepartmentId IN (SELECT ID FROM org_Department WHERE CompanyID = 'T200812051418466710000194')) b ON a.Name = b.EmplName WHERE a.tele <> b.mobile) c WHERE temp_Org_employee.ID = c.ID
示例3:
UPDATE temp_Org_employee SET mobile = c.tele FROM temp_Org_employee e,(SELECT a.name, b.ID, a.tele, b.mobile FROM EmplTeleTb a LEFT JOIN (SELECT * FROM temp_Org_employee WHERE DepartmentId IN (SELECT ID FROM org_Department WHERE CompanyID = 'T200812051418466710000194')) b ON a.Name = b.EmplName WHERE a.tele <> b.mobile) c WHERE e.ID = c.ID
二、FROM 子句中指定的表的别名不能作为 SET column_name 子句中被修改字段的限定符使用。
SET e.mobile = c.tele
FROM temp_Org_employee e,(SELECT a.name, b.ID, a.tele, b.mobile
FROM EmplTeleTb a
LEFT JOIN
(SELECT *
FROM temp_Org_employee
WHERE DepartmentId IN
(SELECT ID
FROM org_Department
WHERE CompanyID = 'T200812051418466710000194'))
b
ON a.Name = b.EmplName
WHERE a.tele <> b.mobile) c
WHERE e.ID = c.ID
若要使上例合法,请从列名中删除别名 e或使用本身的表名
- SQL server 批量修改
- SQL SERVER 批量修改字段的数据类型
- sql server批量修改表名
- sql server批量修改表名
- sql server 批量修改表和存储过程的所有者
- 批量修改 SQL Server 表、存储过程的所有者
- SQL Server修改表结构后批量更新所有视图
- sql server 批量修改表和存储过程的所有者
- 使用sql server批量修改一百多人的数据
- SQL Server修改表结构后批量更新所有视图
- Sql 游标 批量修改
- 批量修改 SQL语句
- sql server批量alter
- Sql server 批量更新
- SQL Server修改标识列方法 如自增列的批量化修改
- sql server 批量修改表和存储过程的所有者——提高SQL安全性
- ms sql批量修改权限
- 批量修改表空间sql
- Qt入门-单选框和复选框
- 中文分词
- Android的编译、打包流程以及手动打包编译的方法
- 寄存器和内存的关系
- 支持响应式布局的超棒颜色选择器 - colorjoe
- SQL server 批量修改
- javascript正则表达式之小结(二)
- Top journal of computer science (Media & Software Technology)
- c++ 源码 +工具+库
- ios开发 NSUserDefaults的使用
- Cassandra失效检测原理
- 重构学习总结
- VC++ MFC Tutorial: Create MFC Extension Dll, Export MFC Classes
- C++对象的内存分布和虚函数表