
如何改变oracle中select的结果的默认顺序(不加order by)? 100
oracle11g当sql语句中不加orderby的时候,好像是按rowid的顺序返回结果的。我也看过一些相关的文档,oracle的官方意思就是不加orderby,就不保...
oracle 11g
当sql语句中不加order by的时候,好像是按rowid的顺序返回结果的。
我也看过一些相关的文档,oracle的官方意思就是不加order by,就不保证输出的顺序。
那么,问题来了:
如果现在我select XXX,一组结果出来,顺序是.......A....B.....
那么接下来我做什么操作,再做同样一句select,怎么才能让结果变成....B...A.....
这个问题我试验了一些操作,比如update,insert,delete一两条数据啊,都不能做到改变两个结果的相对顺序!!!
请回答问题的人自己先做个试验,如果能稳定重复,最终悬赏200分~~~
注意:rowid不是主键,好像是oracle的数据地址。
select XXX不包含order by
还有:操作中请勿修改表的主键。 展开
当sql语句中不加order by的时候,好像是按rowid的顺序返回结果的。
我也看过一些相关的文档,oracle的官方意思就是不加order by,就不保证输出的顺序。
那么,问题来了:
如果现在我select XXX,一组结果出来,顺序是.......A....B.....
那么接下来我做什么操作,再做同样一句select,怎么才能让结果变成....B...A.....
这个问题我试验了一些操作,比如update,insert,delete一两条数据啊,都不能做到改变两个结果的相对顺序!!!
请回答问题的人自己先做个试验,如果能稳定重复,最终悬赏200分~~~
注意:rowid不是主键,好像是oracle的数据地址。
select XXX不包含order by
还有:操作中请勿修改表的主键。 展开
展开全部
rowid是主键吧,一般建表时,会按照主键建立默认索引,在没有排序条件的情况下是按照默认索引排序的,要只能改主键对应列的值,如
rowid a
1 a1
2 a2
3 a3
要改成
rowid a
1 a1
2 a3
3 a2
只能把rowid1和2的列值更换
rowid a
1 a1
2 a2
3 a3
要改成
rowid a
1 a1
2 a3
3 a2
只能把rowid1和2的列值更换
更多追问追答
追问
rowid不是主键。。。
是oracle的数据地址。
追答
那表有主键的情况下不用order by按主键的顺序排序,没有的话就按rowid排序的,不用更改表的主键,只要更改主键对应的列值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询