如何改變oracle中select的結果的預設順序(不加order by)

2021-04-20 04:56:57 字數 1230 閱讀 6630

1樓:大話殘劍

刪除掉原記錄,bai重新du插入,通常顯示的zhi位置會後移。

這要看b前面是dao否有可用的塊,內如果有重新插入的容記錄仍然在b的前面,可以通過插入足夠數量的記錄將b前面的可用塊佔用,然後就會出現在b的後面。

如果不考慮開銷,也可以將a刪除後重建表,最後插入a。

一個可以重複出現的例子

create table test (name varchar2(10));

insert into test values('a');

insert into test values('b');

insert into test values('c');

select * from test;

delete from test where name='a';

insert into test values('a');

select * from test;

drop table test purge;

2樓:匿名使用者

rowid是標識行的來唯一性,格式源:data object number(6個字

符)+relative file number(3個字元)+block number(6個字元)+row number(3個字元)

資料庫的理論基礎就是集合論,本質上就是無序的,不使用order by(子查詢或查詢)是不能保證順序,你把資料不停無序刪除再加回估計就能看到這個現象,但大部分時候都是在磁碟上的次序,這跟資料庫怎麼讀資料有關

3樓:匿名使用者

oracle資料庫是沒有默

來認排序的源

要排序必須加上order by

lz的這bai種情況是一種巧合

因為oracle是按塊進

du行讀取資料的

zhi如果資料按dao順序儲存,則可能使讀取出來的資料是按順

4樓:匿名使用者

巢狀bai使用rowid ,我試du

過了zhi,應該可dao以版

例如:select b.rowid ,b.*from ( select rowid,a.* from 表權a ) b

order by b.rowid desc

5樓:匿名使用者

可以明確的告訴你,在不加order by的時候,select的順序是不能被保證的。所以你只能另改你的需求設計了

oracle中insert如何帶條件新增資料

a中有3例,b表中你只能獲得2列,可以用常量佔位解決insert into tablea 列1,列2,列3 select 列1,列2,常量 from tableb 例 如下 insert into tablea 列1,列2,列3 select 列1,列2,123 from tableb 字串常量 i...

ORACLE匯入改變使用者及表空間

先建立表空間 b create bigfile tablespace bdatafile b.dat size 20m autoextend on 然後建立 使用者 b create user b identified by b default tablespace b temporary tabl...

中如何改變小數點位數,word中如何改變小數點位數

你不知道的office word設定小數點對齊式製表符,資料一目瞭然 右鍵單擊單元格,選擇設定單元格格式 數字 數值,在右邊有設定小數倍數的小視窗。word中只有手動輸入小數,保留幾位也有操作者確定,沒有類似excel那種設定小數位數後自動控制小數的位數。建議先確定是不是word軟體設定小數位數,如...