Comment modifier une vue dans PostgreSQL
PostgreSQL ne permet pas de modifier un point de vue (c'est à dire l'ajout de la colonne, la modification de la colonne de commandes, ajout de criterie etc.) si il a les objets dépendants. C'est vraiment gênant car vous devez écrire un script pour:
- Déposer tous les objets dépendants,
- De modifier l'affichage,
- Recréer tous les objets dépendants de retour à nouveau.
Je comprends que les développeurs de postgreSQL ont très préoccupations raisonnables pour éviter toute incidence sur les vues. Mais avez-vous les gars avez des scripts/coup de découpe pour faire toutes ces manuel de choses en une seule fois?
source d'informationauteur mevdiven | 2010-08-29
Vous devez vous connecter pour publier un commentaire.
L'ajout de nouvelles colonnes n'est pas un problème, en changeant les types de données ou de changer l'ordre des colonnes, c'est là où vous avez des problèmes.
Ne pas changer l'ordre, il n'est pas
que l'important de toute façon, il suffit de changer votre requête:
SÉLECTIONNEZ a, b DE view_name;
SÉLECTIONNEZ b, un DE view_name;
Lorsque vous devez modifier un type de données
d'une colonne, vous devez vérifier la
dépendent des objets. Ceux-ci pourraient
ont des problèmes avec cette nouvelle
type de données. Juste obtenir la définition de
cet objet et de le recréer après l'
les changements. Le information_schema et
pg_catalog vous aider.
des transactions.
Si je place un addtional "drop view xyz; commit;" avant le "create or replace view xyz...", déclaration, au moins dans de nombreux cas, je résoudre le problème de blocage décrites ci-dessus.