VIEW
進化スクリプトを作成しようとしている場所があるので、それに列を追加できます。その部分は問題なく動作します。列は問題なく追加されました。ただし、その逆は機能しません。最後に追加された列を削除すると、ERROR: cannot drop columns from view
メッセージが表示されて失敗します。問題は、この特定のビューにはfromとtoの両方に多くの参照があるため、私はまったくDROP CASCADE
気の毒なことはできないということです。
新しく追加された列を指定されたものから削除できない理由はありVIEW
ますか?次に、このタスクを実行するにはどうすればよいですか?
(注:ここに示すのは状況ですが、他の多くの場合でも、ビューから列を削除するなど、同じような状況がよくわかります。)
CREATE OR REPLACE VIEW
追加の列を除いて同じ定義を使用します(参照されたテーブルには新しい列が追加されているため、ビューにそれを含める必要があるため)。「デボルブ」は、参照されたテーブルから列を削除するため、VIEW
もそれを返す必要はありません。
ALTER VIEW ... ADD COLUMN
。使っていCREATE OR REPLACE VIEW
ますか?コードを表示してください。