Maison > base de données > tutoriel mysql > Vues PostgreSQL : comment puis-je modifier les colonnes utilisées dans une vue sans la supprimer ni la recréer ?

Vues PostgreSQL : comment puis-je modifier les colonnes utilisées dans une vue sans la supprimer ni la recréer ?

Patricia Arquette
Libérer: 2025-01-03 18:11:39
original
451 Les gens l'ont consulté

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 tentez 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 recréez la vue. Ce processus peut être fastidieux et prendre beaucoup de temps. Existe-t-il un moyen d'alléger ce fardeau ?

Solution

Résolution permanente :

Évitez d'utiliser des types de données variant de caractères avec une longueur définie . Utilisez plutôt le type de données text ou varchar sans spécificateur de longueur. Si nécessaire, imposez une longueur maximale à l’aide d’une contrainte CHECK. Cette approche élimine le besoin 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) < 101);
Copier après la connexion

Explication détaillée

Les vues PostgreSQL ne sont pas de simples alias de sous-requêtes, mais plutôt des tables spécialisées avec leur propre structure de règles. Par conséquent, 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 la vue, mais pas la requête sous-jacente.

Pour modifier la requête, utilisez CREATE OR REPLACE VIEW. Cependant, cette opération n'est pas possible lors de la modification des types de données des colonnes résultantes. Dans de tels cas, l’ancienne vue doit être supprimée et une nouvelle créée. Cette action ne supprime aucune donnée mais peut supprimer tout attribut supplémentaire associé à la vue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal