Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Bases de données > PostgreSQL > Requêtes

Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.

Réponse
 
Outils de la discussion
Vieux 31/10/2008, 10h17   #1 (permalink)
Invité de passage
 
Date d'inscription: mai 2004
Messages: 7
Par défaut Dépendance de vues

Bonjour,

Je possède une vue view_A dont je veux modifier la définition (ajout d'un champ d'information) . Lors de ma tentative de modifier la view_A, j'obtiens un message d'erreur "ne peut pas modifier le nombre de colonne dans la vue".
Je suppose que cette erreur provient de l'existence d'une autre vue dépendant en partie de view_A.
Comment y remedier ?
En vous remerciant par avance.

Dombeya
dombeya est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/10/2008, 11h20   #2 (permalink)
Modérateur
 
Avatar de Chtulus
 
Date d'inscription: avril 2008
Localisation: Lyon
Âge: 29
Messages: 1 257
Envoyer un message via MSN à Chtulus
Par défaut

Bonjour,

Quel est le code de la vue et comment la modifier vous ?

__________________
- De quelque manière qu'on s'y prenne on s'y prend toujours mal -
-Sigmund Freud-

SQL : http://sql.developpez.com/
Access : http://access.developpez.com/cours/

Chtulus est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 31/10/2008, 12h23   #3 (permalink)
Invité de passage
 
Date d'inscription: mai 2004
Messages: 7
Par défaut

Pour la créer, comme pour la modifier (je veux juste rajouter un champ provenant de t_index) le code est le suivant :

Code :
CREATE OR REPLACE VIEW ti_index AS 
 SELECT t_index.code_taxon, t_index.groupe_systematique, t_index.rang, t_index.nom_botanique, t_index.famille
 FROM t_index
 WHERE t_index.synonymie IS NULL 
 ORDER BY t_index.ordre_general;
 
ALTER TABLE ti_index OWNER TO postgres;
ps : pour info, par rapport éventuellement à des spécificités de syntaxe SQL, je suis sous PostgreSQl 8.3
dombeya est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 02/11/2008, 20h52   #4 (permalink)
Membre habitué
 
Date d'inscription: janvier 2006
Messages: 159
Par défaut

bonsoir on ne peut pas modifier la "struture" d'une vue comme un ajout de colonne on peut faire
Code :
DROP VIEW IF EXISTS ti_index ;
CREATE ...
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/11/2008, 10h18   #5 (permalink)
Rédacteur
 
Avatar de scheu
 
Date d'inscription: juin 2007
Messages: 1 237
Par défaut

Citation:
Envoyé par xavier-Pierre Voir le message
bonsoir on ne peut pas modifier la "struture" d'une vue comme un ajout de colonne
Effectivement c'est assez bizarre sur Postgresql, le "CREATE OR REPLACE VIEW" ne marche pas dans tous les cas de figure ...
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne.
La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

Haute disponibilité sous Postgresql : réplication de base
scheu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/11/2008, 14h29   #6 (permalink)
Invité de passage
 
Date d'inscription: mai 2004
Messages: 7
Par défaut

Bonjour,
merci de vos réponses il faut effectivement au préalable supprimer la vue comme le suggère xavier-pierre
Code :
DROP VIEW IF EXISTS ti_index ;
CREATE ...
Mais comme je le craignais, cela impact l'ensemble de mes vues qui en dépende..
Citation:
ERREUR: n'a pas pu supprimer vue ti_index car d'autres objets en dépendent
ASTUCE : Utilisez DROP ... CASCADE pour supprimer aussi les objets dépendants.
Il faut donc quand même redéfinir l'ensemble de mes vues dépendantes au sein d'un script SQL ; réalisable mais pas pratique.
dombeya est déconnecté   Envoyer un message privé Réponse avec citation
NEWS POSTGRESQLF.A.Q POSTGRESQLUDF POSTGRESQLLIVRES POSTGRESQL

Réponse

Précédent   Forum des développeurs > Bases de données > PostgreSQL > Requêtes



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide