您的位置:首页 > 数据库

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

2016-04-15 15:08 405 查看

标签: sql
2012-09-06 18:13 2408人阅读 评论(0) 收藏 举报


分类:
Sql Server(123)


版权声明:本文为博主原创文章,未经博主允许不得转载。

[sql] view plain copy

update A SET A.NAME=

(

select B.NAME from #tmpTB2 B where B.ID=A.ID

)

FROM #tmpTB3 A

insert into #tmpTB3

select * from #tmpTB2 B

where B.ID not in(select ID from #tmpTB3)

以上为:存在的更新,不存在的插入

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

[sql] view plain copy

UPDATE A SET A.Provider_IsActive=

(

SELECT CASE WHEN

(

SELECT 1 FROM

(

SELECT DISTINCT Provider_System_Provider_Id

FROM YOUR_DB_NAME.[dbo].[YOUR_TABLE_NAME2] P

WHERE p.data_source = 'ika' and soft_delete_flag = 'n' and Provider_Active_Flag = 'y'

) B WHERE B.Provider_System_Provider_Id = left(A.External_provider_id,7)

) IS NULL THEN 0 ELSE 1 END AS Provider_IsActive

)

FROM YOUR_DB_NAME.[dbo].[YOUR_TABLE_NAME1] A

-- SELECT COUNT(*) FROM YOUR_DB_NAME.[dbo].[YOUR_TABLE_NAME1] A WHERE Provider_IsActive=0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: