批量更新某一查询结果集的第N条到第M条的记录的SQL(SQL 2005)
来源:互联网 发布:淘宝网游交易 编辑:程序博客网 时间:2024/06/05 06:54
问题:在项目开发中,我们有时候需要根据一些限制条件查询出一个结果集后,再将这个结果集的比如前10行进行某一update操作,后10行再进行另一个update操作。
解决方案:
1)根据限制条件查询出结果集(该结果集应该以其主键进行排序),在该结果集上给各行记录进行编号。
2)根据各行记录的编号取出一次取出前10行的记录或后10行的记录。
3)进行各自的update操作。
参考实现:
以下将以我在项目中多次用到的SQL为例。
代码如下:
update b_H3CMAC
set b_H3CMAC.used='M'
where exists (
select * from (
select a.inx2,row_number()over(order by a.inx2) req --以tableName表的主键id字段进行排序
from b_H3CMAC a where a.printed='N' and a.used='Y') c --加上查询结果集的限制条件
where b_H3CMAC.inx2=c.inx2 and c.req>=1300 and c.req<=1600)--将要更新查询结果集的第1到第3条记录
根据别人博客上面的DB2插入方式修改而来,DB2的代码如下:
update tableName b
set b.A=2 ,b.B=current date --B字段为日期类型
where exists (
select 1 from (
select a.id,row_number()over(order by a.id) req --以tableName表的主键id字段进行排序
from tableName a where a.C =22 and a.D=1) c --加上查询结果集的限制条件
where b.id=c.id and c.req>=1 and c.req<=3);--将要更新查询结果集的第1到第3条记录
- 批量更新某一查询结果集的第N条到第M条的记录的SQL(SQL 2005)
- sql 查询 第 n 条到第 m 条的记录
- SQL取出第 m 条到第 n 条记录的方法
- SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法-更新
- 查询表第n条到第m条的记录
- 查询Test表第n条到第m条的记录
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一条SQL语句写出从第M条到第N条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 用一句SQL取出第 m 条到第 n 条记录的方法
- 《灵魂的黑夜》笔记
- 你应该了解的13个免费且实用的脚本
- 【数码概念验证码识别系统教程】(四)如何制作字模库?
- SQL Server 2005支持的两条新语法
- C/C++文件操作(二):stream类
- 批量更新某一查询结果集的第N条到第M条的记录的SQL(SQL 2005)
- SQL基础:常用SQL语句详解
- 数学很强力
- C/C++文件操作(三):CFile/CStdioFile类
- eclipse 插件汇总
- Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server.
- 终止正在运行的matlab引擎
- JavaScript定义类的几种方式
- SQL基础