我正在使用Informix(版本7.32)数据库。在一项操作中,我创建了一个临时表,其中包含常规表的ID和一个串行列(因此,我将从常规表中获得的所有ID进行连续编号)。但是我想从ID排序的常规表中插入信息,例如:
CREATE TEMP TABLE tempTable (id serial, folio int ); INSERT INTO tempTable(id,folio) SELECT 0,folio FROM regularTable ORDER BY folio;
但这会产生语法错误(由于ORDER BY)
有什么方法可以订购信息,然后将其插入到tempTable中?
更新:我要这样做的原因是因为常规表中有大约10,000个项目,并且在一个jsp文件中,它必须显示每条记录,但这会花费很长时间,所以我要这样做的真正原因是 分页 输出。此版本的Informix没有Limitnor Skip。我无法对序列号进行重新编号,因为存在关联,这是我们可以在一页上获得固定数量结果的唯一解决方案(例如,每页500个结果)。在常规表中,由于已删除ID,因此跳过了ID(称为作品集)。如果我要放
Limit
Skip
SELECT * FROM regularTable WHERE folio BETWEEN X AND Y
我可能在一页中得到300,然后在下一页中得到500
您可以尝试在SELECT … ORDER BY上迭代游标并在循环内执行INSERT。