首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Informix >

informix中怎样用sql语句删除前n条记录?该怎么处理

2012-03-14 
informix中怎样用sql语句删除前n条记录?之前已经对表数据按begintime字段排序。select first 100 * from Ta

informix中怎样用sql语句删除前n条记录?
之前已经对表数据按begintime字段排序。
select first 100 * from TableName order by begintime;
然后再执行删除操作,将前100条记录删除。
delete first 100 * from alarmhis order by begintime; 
但执行错误!该怎样写这个语句?



[解决办法]
由于informix的first选项限制较多,不能用在子查询,也不能用在into temp的select语句中,感觉一个sql写不出来。

用下面的select语句生成一堆delete语句,然后再跑这些delete语句:

select first 100 'delete from TableName where rowid='|| rowid ||';' from TableName order by begintime; 

[解决办法]
delete TableName
where 某字段 in (select first 100 * from TableName order by begintime)试试 

热点排行