我正在使用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没有Limit或Skip.我无法对序列进行重新编号,因为它处于关系中,这是我们可以在一个页面上获得固定数量结果的唯一解决方案(例如,每页500个结果).在Regular表中已跳过id(称为folio),因为它们已被删除.如果我要放
SELECT * FROM regularTable WHERE folio BETWEEN X AND Y
解决方法
您可以尝试在SELECT … ORDER BY上迭代游标并在循环中执行INSERT.