我正在使用 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 个结果)的唯一解决方案。在常规表中已跳过 id(称为 folio),因为它们已被删除。如果我说
SELECT * FROM regularTable WHERE folio BETWEEN X AND Y
我可能会在一页中得到 300,然后在下一页中得到 500