IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

Dépendance de vues


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 13
    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

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

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

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 13
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonsoir on ne peut pas modifier la "struture" d'une vue comme un ajout de colonne on peut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    drop view if exists ti_index ;
    create ...

  5. #5
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    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 !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  6. #6
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 13
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DROP VIEW IF EXISTS ti_index ;
    CREATE ...
    Mais comme je le craignais, cela impact l'ensemble de mes vues qui en dépende..
    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.

Discussions similaires

  1. Dépendances d'une vue (colonne par colonne)
    Par Divadz dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/08/2007, 17h00
  2. [Concept] Dépendances fonctionnelles
    Par bolo dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 24/01/2003, 20h13
  3. Créer une vue pour trier une requete UNION ?
    Par Etienne Bar dans le forum SQL
    Réponses: 3
    Dernier message: 03/01/2003, 20h22
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. compression de données du point de vue algorithmique
    Par GoldenEye dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 26/06/2002, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo