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 的。