"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Postgresql Voir les compétences de modification des colonnes, vous pouvez mettre à jour sans reconstruire

Postgresql Voir les compétences de modification des colonnes, vous pouvez mettre à jour sans reconstruire

Publié le 2025-05-01
Parcourir:540

PostgreSQL Views: How Can I Modify Columns Used in a View Without Dropping and Recreating It?

postgresql: modification des colonnes utilisées dans les vues

Lorsque vous essayez de modifier une colonne utilisée dans une vue postgresql, il est généralement nécessaire de supprimer la vue, de modifier la colonne et de recréer la vue. Ce processus peut être fastidieux et long. Existe-t-il un moyen de soulager ce fardeau?

Solution

Résolution permanente:

Évitez d'utiliser des types de données variant (n) de caractère avec une longueur définie. Au lieu de cela, utilisez le type de données de texte ou VARCHAR sans spécificateur de longueur. Si nécessaire, appliquez une longueur maximale à l'aide d'une contrainte de vérification. Cette approche élimine la nécessité de modifier la vue lors de la modification des types de colonnes.

CREATE TABLE monkey (name text NOT NULL);

ALTER TABLE monkey ADD CONSTRAINT monkey_name_len CHECK (length(name)  

Explication détaillée

Les vues postgresql ne sont pas simplement des alias sur les sous-questionnaires, mais plutôt des tables spécialisées avec leur propre structure de règles. En conséquence, lors de la modification des tables sous-jacentes, il est souvent nécessaire de modifier également les vues dépendantes. L'instruction ALTER VIEW peut modifier les propriétés de vue, mais pas la requête sous-jacente.

pour modifier la requête, utilisez la vue de création ou de remplacer. Cependant, cette opération n'est pas possible lors de la modification des types de données de colonne résultants. Dans de tels cas, l'ancienne vue doit être abandonnée et une nouvelle créée. Cette action ne supprime aucune donnée mais peut supprimer les attributs supplémentaires associés à la vue.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3