码迷,mamicode.com
首页 > 数据库 > 详细

sql 批量操作(存在的更新,不存在的插入)

时间:2016-04-15 15:21:43      阅读:630      评论:0      收藏:0      [点我收藏+]

标签:

 

标签: sql
技术分享 分类:
[sql] view plain copy
 
  1. update A SET A.NAME=  
  2. (  
  3.     select B.NAME from #tmpTB2 B where B.ID=A.ID  
  4. )  
  5. FROM #tmpTB3 A  
  6.   
  7. insert into #tmpTB3   
  8. select * from #tmpTB2 B  
  9. where B.ID not in(select ID from #tmpTB3)  
以上为:存在的更新,不存在的插入


以下为 批量更新某个标识字段:

 

[sql] view plain copy
 
  1. UPDATE A SET A.Provider_IsActive=  
  2. (  
  3.     SELECT CASE WHEN  
  4.     (  
  5.         SELECT 1 FROM  
  6.         (  
  7.             SELECT DISTINCT Provider_System_Provider_Id   
  8.             FROM YOUR_DB_NAME.[dbo].[YOUR_TABLE_NAME2] P   
  9.             WHERE p.data_source = ‘ika‘ and soft_delete_flag = ‘n‘ and Provider_Active_Flag = ‘y‘  
  10.         ) B WHERE B.Provider_System_Provider_Id = left(A.External_provider_id,7)  
  11.     ) IS NULL THEN 0 ELSE 1 END AS Provider_IsActive  
  12. )  
  13. FROM YOUR_DB_NAME.[dbo].[YOUR_TABLE_NAME1] A  
  14.   
  15. -- SELECT COUNT(*) FROM YOUR_DB_NAME.[dbo].[YOUR_TABLE_NAME1] A WHERE Provider_IsActive=0  

sql 批量操作(存在的更新,不存在的插入)

标签:

原文地址:http://www.cnblogs.com/dwuge/p/5395577.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!