Eu tenho um local VIEWonde estou tentando criar um script de evolução para poder adicionar uma coluna a ele. Essa parte funciona bem; coluna adicionada muito bem. No entanto, o inverso não funciona; remova a última coluna adicionada falhará com uma ERROR: cannot drop columns from viewmensagem. O problema é que essa visão em particular tem muitas referências, de e para, portanto, não posso apenas DROP CASCADEo que é danado!
Existe uma razão pela qual não consigo remover uma coluna recém-adicionada de uma determinada VIEW? Então, o que posso fazer para realizar esta tarefa?
(Nota: as circunstâncias, aqui, são o que são, mas posso muito bem ver uma situação semelhante, também conhecida como descartar uma coluna de uma exibição, em muitos outros casos.)
CREATE OR REPLACE VIEWcom a mesma definição, exceto uma coluna extra (porque uma tabela refinada possui uma nova coluna adicionada, portanto a visualização precisa incluí-la). A "devolução" remove a coluna da tabela refinada, portanto, VIEWtambém não é mais necessário devolvê-la.
ALTER VIEW ... ADD COLUMN. Você está usandoCREATE OR REPLACE VIEW? Mostre seu código, por favor.