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 :

[Trigger] update colonne par rapport à une autre table


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Par défaut [Trigger] update colonne par rapport à une autre table
    Bonjour,

    J'ai deux tables (Table1 et Table2). Je souhaiterais que la colonne 'taux' de la table1 s'update automatique quand la ligne est creer. ceci par rapport a la table2 de la colonne 'taux' en fonction de la colonne 'id_usager'.
    Les taux de la Table2 peuvent changer.
    Merci pour votre aide.

    Table1 - encodages
    id id_usager temps taux
    111 5 15 105
    112 2 20 102
    113 4 21
    114 1 36
    115 5 45

    Table2 - usager
    id nom taux
    1 toto 11
    2 titi 102
    3 tata 130
    4 tutu 14
    5 tete 105

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 623
    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 623
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Si la valeur doit être exactement la même dans les deux tables, il est alors préférable de créer une vue avec une jointure sur les deux tables, plutôt que de créer une redondance dans la base de données

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Par défaut
    merci pour votre réponse.
    non parce que les taux de la table2 peuvent changer.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 623
    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 623
    Billets dans le blog
    10
    Par défaut
    Alors utilisez une procédure stockée

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Alors utilisez une procédure stockée
    si je demande de l'aide c'est parce que je ne sais pas le faire, merci.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 13
    Par défaut
    Voici comment j'ai fait, si ça peut servir à une autre personne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    --trigger tr_insert_taux
    CREATE TRIGGER tr_insert_taux
      BEFORE INSERT
      ON public.table1
      FOR EACH ROW
      EXECUTE PROCEDURE fc_insert_taux();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    --fonction fc_insert_taux
    begin
    NEW.taux := (SELECT taux FROM table2 WHERE id = NEW.id_usager);
    RETURN NEW;
    end;
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération d'une colonne par rapport à une autre
    Par bakounine dans le forum Excel
    Réponses: 7
    Dernier message: 06/06/2012, 20h46
  2. [debutant]somme colonne par rapport a autre table
    Par decksroy dans le forum Langage SQL
    Réponses: 1
    Dernier message: 24/01/2007, 11h32
  3. Réponses: 1
    Dernier message: 01/08/2006, 14h43
  4. Réponses: 7
    Dernier message: 12/07/2006, 17h34
  5. Initialisation d'une colonne par rapport à une autre colonne
    Par jeromesco dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/04/2005, 17h15

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