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 :

Bonnes pratiques : gérer "copy from" pour déclencher l'alimentation d'une autre table avec les datas importées [10]


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut Bonnes pratiques : gérer "copy from" pour déclencher l'alimentation d'une autre table avec les datas importées
    Bonjour,

    Comme mentionné dans l'objet, je souhaite géré un événements qui s’exécute
    dans un schéma X.

    Cette partie est automatisée par des traitements Perl qui vont permettre d'alimenter une table contenue dans ce schéma.

    Par la suite, j'aimerai avoir une solution qui soit hors Perl afin d'avoir un traitement de ces données sur un autre schéma,
    en interne de ma base.

    Est-ce que des triggers avec le mot clé update associés a ma table cible peuvent gérés cet événement afin de
    déclencher des requêtes qui alimenteraient celle-ci?

  2. #2
    Membre éprouvé

    Homme Profil pro
    Consultant ERP
    Inscrit en
    Janvier 2013
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2013
    Messages : 372
    Points : 1 202
    Points
    1 202
    Par défaut
    La réponse feignante est oui

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut
    Bon les tests ne sont pas fameux mais je pense que c'est sur l’événement déclencheur :

    J'ai créé le trigger suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create trigger alimentation_ma_table after
    update
        on
        schéma1.matable1 for each statement execute procedure schéma2.fonction();
    schéma1.matable est alimentée par un copy from.

    la fonction porte le drop la table schéma2.matable2 mais aucun événement (pas de drop), j'ai rajouté un raise notice 'trigger déclenché'
    dans la fonction => pas de trace.
    Je pense que mon trigger n'est donc pas correctement paramétré ou la solution n'est pas la bonne.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,
    Tu as fais un trigger sur update, mais si ta table est chargée par un copy, c'est donc des inserts qui ont lieu. Personnellement je tenterai un trigger sur insert.
    Cordialement
    Soazig

  5. #5
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut
    Merci a tous.

    La solution est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create trigger Nom du trigger after
    insert
        on
        schéma.table for each statement execute procedure nom procédure associée();

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

Discussions similaires

  1. [MySQL] Copie lignes d'une table dans une autre table avec une conditions
    Par bygleader dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 19/03/2019, 06h56
  2. Réponses: 4
    Dernier message: 28/05/2010, 17h11
  3. Réponses: 2
    Dernier message: 04/06/2009, 14h49
  4. Réponses: 2
    Dernier message: 10/03/2009, 12h45
  5. Réponses: 6
    Dernier message: 29/10/2008, 16h06

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