Eu tenho um local VIEW
onde 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 view
mensagem. O problema é que essa visão em particular tem muitas referências, de e para, portanto, não posso apenas DROP CASCADE
o 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 VIEW
com 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, VIEW
também não é mais necessário devolvê-la.
ALTER VIEW ... ADD COLUMN
. Você está usandoCREATE OR REPLACE VIEW
? Mostre seu código, por favor.