现在有一张表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)