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
相关文章推荐
- db2 常见错误以及解决方案[ErrorCode SQLState]
- Oracle中空字符串与Null的区别
- Redis并发锁控制
- sql server 查看字段备注等信息
- oracle 时间分段查询
- 数据库分页技术
- oracle执行计划
- VS2013中C#读取SQLite数据
- ***博客系统文章的数据库存储方式
- Redis常用命令
- Redis Master/Salve Replication(主从复制模式)
- 各种数据库的分页查询语句
- sqlite3 数据库操作
- mysql之触发器trigger
- SSH整合过程中中文乱码问题的解决方案(以mysql数据库为简单案例)
- Mysql存储过程,获取最近7天
- MySQL 触发器简单实例
- mysql正则表达式
- 项目经验分享--今天公司网站打不开了!数据库:ERROR 1030 (HY000): Got error 28 from storage engine
- JAVA MemCache 史无前例的详细讲解【转】