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 :

créér un trigger pour eviter les doublons


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 50
    Points : 52
    Points
    52
    Par défaut créér un trigger pour eviter les doublons
    bonjour,
    j'ai la table avec les données suivantes :
    clef_primaire , personne
    1,pierre
    2,paul

    je veux insérer un fichier txt :
    - ce fichier txt contient déjà ces 2 personnes
    - ce fichier txt contient en plus de nouvelles personnes

    insert into matable (clef_primaire, autre_champ) values ( 1, pierre);
    insert into matable (clef_primaire, autre_champ) values ( 2, paul);
    insert into matable (clef_primaire, autre_champ) values ( 3, sara);
    insert into matable (clef_primaire, autre_champ) values ( 3, julien);

    j'essaye de créér un trigger before insert afin de ne pas etre bloqué par postgres des que la clef primaire est en doublons (exception "UNIQUE_VIOLATION" de postgresql) ce qui me permettrait de continuer a inserer les données supplémentaires dans ma table.

    je ne parviens pas a ecrire ma fonction trigger

    CREATE FUNCTION verif_doublon() RETURNS "trigger" AS
    $body$
    begin
    EXCEPTION
    WHEN UNIQUE_VIOLATION THEN
    -- do nothing
    END;
    $$
    LANGUAGE plpgsql

    ----
    merci beaucoup

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 485
    Points : 839
    Points
    839
    Par défaut
    bonjour ,
    tu crées une procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    create or replace function verif() returns opaque as $body$
    begin
    if NEW.id  in ( select id from ma_table ) then
    return null;
    end if;
    return NEW;
    end;
    $body$
     LANGUAGE 'plpgsql';
    puis tu crées le trigger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    create trigger tr_verif BEFORE insert on ma_table
    for each row execute procedure verif();

Discussions similaires

  1. Après importation, eviter les doublons
    Par uloaccess dans le forum Access
    Réponses: 6
    Dernier message: 16/11/2005, 16h36
  2. [Débutant][XSLT]Eviter les doublons
    Par leminipouce dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/10/2005, 11h34
  3. hash et Tie , eviter les doublons
    Par bluecurve dans le forum Langage
    Réponses: 5
    Dernier message: 12/10/2005, 16h39
  4. Eviter les doublons
    Par cyrill.gremaud dans le forum ASP
    Réponses: 5
    Dernier message: 14/09/2005, 12h37
  5. [langage] 2 fichier dans 1 en evitant les doublons
    Par remixxl dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2004, 17h05

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