2015-05-06 143 views
2

我試着顯示ROWID虛列,但奇怪的事情發生, 這是我的查詢選擇ROWID甲骨文

select rowid, rowid||'', rowid r from dual 

輸出:

ROWID||''   R 
AAAAECAABAAAAgiAAA AAAAECAABAAAAgiAAA 

那麼爲什麼不能顯示rowid沒有別名或不連接起來還有別的東西?任何解釋? 我使用了Toad和Oracle 10g。

+4

我認爲這是一個TOAD內部處理問題。嘗試用簡單的SQLplus –

+0

@Wernfried我沒有其他查詢工具,但我嘗試過使用SQLFiddle.com,而且更糟糕的是,在查詢'rowid'時出現錯誤消息,如果您確定,請嘗試使用SQLplus並且不接受您的答案。 – 54l3d

+0

SQL Developer也可能有點奇怪 - 將值包裝爲別名長度(或沒有別名的5),而沒有列設置。 SQL \ * Plus很好。 –

回答

2

seems to be a Toad setting隱藏虛列:

在數據網格中,鼠標右鍵單擊 - 選擇列

啓用 'ROWID'

你也有 -

蟾蜍 - 查看 - 選項 - 數據網格 - 數據 - 顯示 - '顯示ROWID 可編輯網格'

它顯示在SQL * Plus,SQL Developer和其他客戶端中。

+0

它可能也是OCI相關的。 OCI隱含地將ROWID作爲第0列返回,即使查詢沒有返回它。當查詢本身返回ROWID時,可能TOAD有點困惑。 – ibre5041

+0

@ ibre5041 - 我認爲該設置是爲了抑制顯示隱含的OCI列;這是可以理解的,但如果您明確將其包含在您的選擇列表中,則無助於此。 –