DB2更新前N条记录

由于DB2中没有类似Oracle中的rownum函数,Sql Server中的top关键字,MySql中的limit关键字,所有需要曲线救国

示例代码如下:

方法1:

UPDATE TableA SET field1='value' WHERE id IN

  (
     SELECT id FROM( SELECT ROW_NUMBER() OVER() AS num,id FROM TableA ) ss WHERE num>=1 AND num<=100
   )

 

其中OVER() 中可以增加排序,如:OVER(Order By id)

 

方法2:将查询语句作为临时表再更新

 

UPDATE  (SELECT SYN_TIME FROM INTERFACE_STATUS FETCH FIRST 100 ROWS ONLY)  A  
SET A.SYN_TIME='2010-10-10 00:00:00'

扫描二维码关注公众号,回复: 3809574 查看本文章

猜你喜欢

转载自blog.csdn.net/xiyuan1999/article/details/8658493
db2