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

PostgreSQL Discussion :

Problème avec rename de table et vue


Sujet :

PostgreSQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut Problème avec rename de table et vue
    Bonjour,

    Je rencontre un problème lorsque je fais un rename de table sur postgres (9.4). Le souci est qu'avec le rename de la table, les vues qui y sont liées sont aussi modifiées et récupèrent ainsi le nom de la nouvelle table. exp:

    Etat 1
    nom de la table: toto
    Vue_toto: select * from toto

    Action rename: alter table toto rename to tata

    Etat (2)
    nom de la table: tata
    Vue_toto : select * from tata

    Question: y'a t il une commande lors de la création/replace de la vue afin de "figer" l'sql qui a servi à la création de la vue ? et éviter ainsi que le nom de la table (au sein de la vue) ne change lors du rename de table

    Merci !

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 610
    Billets dans le blog
    10
    Par défaut
    Non, le parametre only n'est pas applicable sur un rename de table, mais quel serait l'intérêt puisque la vue deviendrait inutilisable ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 11
    Par défaut l'alim !
    Citation Envoyé par escartefigue Voir le message
    Non, le parametre only n'est pas applicable sur un rename de table, mais quel serait l'intérêt puisque la vue deviendrait inutilisable ?
    Le mode d'alimentation de la table cible: l'alimentation se fait par des tables temporaires, une ps est déclenchée en fin de traitement pour lancer un rename: rename table_tmp en table_cible
    A ce moment là mes vues bougent... et il ne le faut pas !
    J'ai pensé à régénérer la vue après l'alim, le souci est que d'autres vues dépendent de cette vue .. ce qui fait que je dois tout dropé et tout recréer pour recentrer ma vue sur la bonne table .. Bref ! un vrai schmilblick !

    J'ai une solution mais qui est coûteuse en temps et pas très "smart" : décaler l'alim de la table cible de façon à ne pas faire de rename dessus mais en amont, cela fixera la vue une fois pour toute. Le problème ici, c'est que des tables ... j'en ai pleins !!
    ça aurait été plus simple de "figer" la vue via un replace qq chose, si c'est possible biensûr !

    =)

Discussions similaires

  1. Problème avec mon alter table
    Par gibea00 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/08/2007, 18h02
  2. Problème avec Renames et packages
    Par Helifyl dans le forum Ada
    Réponses: 1
    Dernier message: 29/04/2007, 14h40
  3. [SQL]Problème avec jointure de tables
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 29/03/2007, 20h43
  4. Réponses: 12
    Dernier message: 25/11/2005, 12h29
  5. Problème avec Rename : Permission denied
    Par panaone dans le forum Langage
    Réponses: 12
    Dernier message: 21/08/2005, 17h56

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