DB2更新前N条数据

现在有一张表TB_DEVICE_MONITORED存在DB2数据库中,

create table TB_DEVICE_MONITORED
(
    ID  int(10) primary key,
    STATUS varchar(1)
);

要求将前N条数据STATUS更新为1

如果是MySQL数据库可以直接利用limit关键字

update TB_DEVICE_MONITORED set STATUS = 1 limit N

但是DB2数据库没有limit语句,DB2选择前N条语句只能这么写

select * from TB_DEVICE_MONITORED fetch first N rows only

利用嵌套子查询,可更新前N条数据

update TB_DEVICE_MONITORED set STATUS = 0 
where ID in 
(SELECT ID FROM TB_DEVICE_MONITORED fetch first N rows only)

参考链接
Select , Update , Delete N number of rows in db2


版权声明:本文为zhazha_hui原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。