开满天机
已经有人说过,当你没有指定ORDER BY子句时,允许Oracle按照它想要的任何顺序给你行。当您未指定ORDER BY子句时,推测订单的内容是没有意义的。在你的代码中依赖它,是一种“职业限制行动”。一个简单的例子:SQL> create table t as select level id from dual connect by level <= 10
2 /Tabel is aangemaakt.SQL> select id from t 2 /
ID----------
1
2
3
4
5
6
7
8
9
1010 rijen zijn geselecteerd.SQL> delete t where id = 6
2 /1 rij is verwijderd.SQL> insert into t values (6)
2 /1 rij is aangemaakt.SQL> select id from t 2 /
ID----------
1
2
3
4
5
7
8
9
10
610 rijen zijn geselecteerd.这只是在简单的删除+插入之后。还有许多其他可以想象的情况。并行执行,分区,索引组织表仅举几例。底线,正如AmmoQ已经说得很好:如果你需要排序的行,请使用ORDER BY子句。