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 :

débutant: ne pas exécuter une insertion (trigger) ?


Sujet :

PostgreSQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Par défaut débutant: ne pas exécuter une insertion (trigger) ?
    Bonjour,

    Je suis en train de créer une table contenant une 'primary key' unique.

    Je voudrais créer un trigger vérifiant avant insertion si cette clé existe déjà et si c'est le cas, ne pas réaliser cette insertion.

    Je compte donc utiliser :

    SELECT variable from table WHERE variable = NEW.variable;
    IF FOUND THEN
    ne pas réaliser l'insertion
    END IF;

    Je ne sais pas comment indiquer de ne pas faire l'insertion.

    Pourriez-vous m'aider sur ce point ?

    Merci.

    C. Tobini

  2. #2
    Xo
    Xo est déconnecté
    Membre Expert
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Par défaut
    Une attribution de clé, ça peut se faire simplement soit via un champ auto-incrémenté, soit via une séquence, pourquoi ne pas choisir une solution de ce type ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 334
    Par défaut
    Bonjour et merci de vos réponses,

    J'avais effectivement pensé à faire une valeur auto-incrémentée mais je préfère que la PK soit une partie numérique des valeurs que j'ai à traiter, vu qu'elles sont uniques.

    J'ai fait un trigger ne traitant l'info si elle est redondante (un problème dans ce trigger fait d'ailleurs depuis peu l'objet d'un nouveau post ).

    Bonne fin de journée.

    C. Tobini

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/05/2013, 12h33
  2. Réponses: 4
    Dernier message: 01/07/2009, 13h37
  3. [Débutant] Ne pas évaluer une variable
    Par barthelv dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 21/05/2008, 11h30
  4. j'arrive pas à excuter une requete.
    Par abdelkaderg54 dans le forum Débuter
    Réponses: 3
    Dernier message: 04/07/2007, 16h24
  5. [SQL] Comment ne pas exécuter une clause WHERE si une var est nulle
    Par charlysquare dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 01/05/2006, 21h12

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