我是Oracle最終用戶,而不是數據庫開發人員或管理員。Oracle持久列別名
我們的數據庫已經在列名的一些錯字,類似於一列被命名的ADRESS2
代替ADDRESS2
我在查詢中使用這些列,並且要記住適用於哪一列其中錯字很難。另外,我是 anal persnickety關於這使我的代碼看起來(不那麼專業)的方式。
我懷疑沒有機會讓這些列在生產中實際重命名 - 這將是一個低優先級與大量的依賴關係。
這種情況下的最佳做法是什麼?
我能想到的幾個選項:
- 添加評論認爲,錯字是故意
- 換表與
select(bad_name good_name, * from table)
- 創建基於上述
視圖但有沒有辦法做這樣的事情:
DECLARE address2 CHAR(8) := 'adress2';
並在查詢中使用,但返回的值爲ADRESS2
而不是char「adress2」。
所需的解決方案將是一個做法是:
- 不會增加查詢
- 將被開發爲的情況下列名是笨拙或誤導 一個反應識別的複雜性
對OP的道歉 - 我看到你在11g上。沒有「INVISIBLE」專欄(這是12c的功能)。 –
沒關係,這仍然是很好的知道。 – C8H10N4O2
不需要它是隱形的。你可以把它作爲'alter table sample_table add address2 always always as(addres2 ||'')virtual;' - 這個可以在11g第1版上運行。 – g00dy