在oracle數據庫表中沒有添加rowid字段為什么會出現?


rowid 是 oracle 數據庫表中的偽列, rowid 首先是一種數據類型,它唯一標識一條記錄物理位置, 基於64位編碼的18個字符顯示。因為 rowid 是偽列, 所以並未真的存儲在表中,但可以從表中查詢,但不支持插入,更新,刪除它們的值。

其他的偽列還有 rownum (行號)
 
追問
將rownum設為主鍵時建立幾條模擬數據后當根據rownum查詢時只能查詢出來第一條記錄,后來的記錄則呢么就查不到了啊,謝謝了。
 
追答
rownum 是偽列,你不可能把 rownum 作為表的主鍵的。需要注意的是 rownum 是指查詢結果集的行號,而不是表的行號。比如:

select * from tab where rownum=9; 即使 tab 表中有很多記錄,但這個 sql 語句是永遠也查不出數據的, 因為你指定了 rownum =9 作為查詢條件,因而是單行查詢,查詢結果最多只能返回一條記錄,也就是說 rownum 最多=1, 是不可能等於9 的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM