Ho un punto in VIEW
cui sto tentando di creare uno script di evoluzione, quindi posso aggiungere una colonna ad esso. Quella parte funziona benissimo; colonna aggiunta bene. Tuttavia, il contrario non funziona; rimuovere l'ultima colonna aggiunta non riesce con un ERROR: cannot drop columns from view
messaggio. Il problema è che questa particolare visione ha molti riferimenti, sia da che verso, quindi non posso proprio fare DROP CASCADE
la cosa maledetta!
C'è un motivo per cui non riesco a rimuovere una colonna appena aggiunta da un dato VIEW
? Quindi, cosa posso fare per svolgere questo compito?
(Nota: le circostanze, qui, sono quelle che sono, ma riesco benissimo a vedere una situazione simile, ovvero far cadere una colonna da una vista, in molti altri casi.)
CREATE OR REPLACE VIEW
con la stessa def, tranne una colonna aggiuntiva (perché una tabella ref'ed ha una nuova colonna aggiunta, quindi la vista deve includerla). La "devolution" rimuove la colonna dalla tabella ref'ed, in modo che il VIEW
deve anche non tornare più.
ALTER VIEW ... ADD COLUMN
. Stai usandoCREATE OR REPLACE VIEW
? Mostra il tuo codice per favore.