如何在oracle sql数据库中重新排序行?我正在使用第三方数据库驱动的软件,不幸的是我无法更改调用(或者我只是添加一个订单),但是我可以更改数据库中行的顺序吗?
免责声明:我知道我永远不应该依赖原始数据库的顺序,如果它改变我理解,但是可以这样做吗?
谢谢!
答案 0 :(得分:2)
你做不到。如果查询未指定ORDER BY
,则返回行的顺序是未定义的。
如果您愿意接受低于100%的解决方案,您可以尝试将数据移动到临时表,截断表,然后按照您希望它显示的顺序插回数据。如果查询正在执行表扫描或某种类型的索引扫描而没有执行任何复杂操作(如连接),则可能会按照它们物理存储在表中的顺序返回行。当然不能保证,但它可能在大部分时间都有效。