gpt4 book ai didi

sql - 基于一组排序的主键检索数据

转载 作者:行者123 更新时间:2023-12-04 06:06:29 24 4
gpt4 key购买 nike

我有一组主键。该集合按照记录将要显示的方式进行排序。

我想以与排序集中相同的顺序从数据库中检索记录。

目前我这样做:

  cursor getdata is
select snr, -- snr is the primary key
field1,
field2,
field3
from MyTable,
(select COLUMN_VALUE snr, rownum sort_key from TABLE(varray_of_snr)) snr_tab
where MyTable.snr = snr_tab.snr
order by snr_tab.sort_key;

问题是 Oracle 不必按照在 varray 中的顺序读取内部选择中的行。 .不能保证 Oracle 不会从 varray 以相反的顺序读取行。在内部选择。

有没有一种简单的方法可以保证保留排序顺序?

最佳答案

据我所知,除非指定了 ORDER BY,否则永远无法保证任何数据集的 ORDER。

如果数组的顺序是任意的,我建议包括在存储数据时填充的 row_id 字段。 rownum仅当您可以推断排序并使用 ORDER BY 子句时才应使用它。

关于sql - 基于一组排序的主键检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8296033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com