我創建一個Oracle觀點是這樣的:如何在VIEW輸出子句中保留「*」,以便列跟蹤表的更改?
SELECT * FROM TABLE;
當我創建視圖,我注意到,甲骨文改變視圖查詢是這樣的:
SELECT FIELD1, FIELD2,... FROM TABLE;
我的問題是,如果我更改TABLE結構,例如添加一個新字段,在視圖中不考慮更改。然後,我需要重新創建視圖,並將這個視圖的權限重新分配給用戶/角色。
有沒有什麼辦法使視圖模式通用,並保持它的形式:SELECT * FROM TABLE?
謝謝。
你應該能夠簡單地改變原來的定義視圖,不是?在SQL中,視圖具有「'*」「形狀的意義並不比表格沒有意義 - 列表通配符對於只想要一些輸出的懶惰人來說大多是一種破解,正確的,現在:) – user2864740
這只是一個例子。這個想法是如何獲得當前表結構,無論發生什麼?假設它是:SELECT * FROM TABLE where ID = x。我想獲得表格的所有當前字段。 –
如果視圖自動跟蹤列更改可能會導致應用程序代碼出現問題(如果它不具有類似的靈活性)。所以請記住,如果你找到了解決方案。 –