J'ai un VIEW
où j'essaye de créer un script d'évolution pour, donc je peux y ajouter une colonne. Cette partie fonctionne bien; colonne ajoutée très bien. Cependant, l'inverse ne fonctionne pas; supprimer cette dernière colonne ajoutée échoue avec un ERROR: cannot drop columns from view
message. Le problème est que cette vue particulière a de nombreuses références, à la fois de et vers, donc je ne peux pas juste DROP CASCADE
la sacrée chose!
Y a-t-il une raison pour laquelle je ne peux pas supprimer une colonne nouvellement ajoutée d'une donnée VIEW
? Alors, que puis-je faire pour accomplir cette tâche?
(Remarque: les circonstances, ici, sont ce qu'elles sont, mais je peux très bien voir une situation similaire, alias supprimer une colonne d'une vue, dans de nombreux autres cas.)
CREATE OR REPLACE VIEW
avec le même def, sauf une colonne supplémentaire (car une table ref'ed a une nouvelle colonne ajoutée, donc la vue doit l'inclure). La "dévolution" supprime la colonne de la table ref'ed, donc le VIEW
doit également ne plus la renvoyer.
ALTER VIEW ... ADD COLUMN
. Utilisez-vousCREATE OR REPLACE VIEW
? Montrez votre code s'il vous plaît.