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 :

forcer un insert


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut forcer un insert
    Alors pour commencer l'intitulé de mon post n'est pas très correct car ce n'est pas ce que je veux faire mais je suis en manque d'inspiration

    Le problème que je rencontre est celui-ci : dans une fonction plpgsql j'ai une boucle FOR pour lancer une succession d'INSERT dans la même table et à un moment il me jette car je viole une contrainte. Ce qui est tout à fait normal : je ne lui en veux pas .
    Je voudrais savoir si au lieu de me stopper dans ma boucle, il ne peut pas tout simplement ne pas exécuter l'INSERT et passer à l'itération suivante de ma boucle FOR.

    Je sais que je pourrais tester avec un select pour voir si mon tuple n'existe pas déjà avant d'essayer de l'insérer mais je trouve qu'au niveau complexité c'est pas excellent car cela devient du n*n! au lieu de n.

    merci d'avance

  2. #2
    Membre Expert
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Par défaut
    tu peux faire une gestion "bidon" de l'exception

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    BEGIN
    ..........
    ..........
    INSERT INTO ..........................;
    EXCEPTION WHEN unique_violation THEN
     -- on met rien ici
    END;
    ...............................................
    END;

  3. #3
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    merci m'sieur.

    Je n'utilisais jamais le système des exceptions : du coup je suis allé apprendre les rudiments sur https://postgresql.developpez.com

    ++

  4. #4
    Membre expérimenté
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Par défaut
    en plus entre voisins faut bien s'aider : j'habite vanves

    Bon j'arrête de polluer ce forum avec mes posts pourris.

    ++

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

Discussions similaires

  1. Forcer des vérifications à l'insertion de valeurs
    Par funtim78 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 15/09/2014, 17h13
  2. forcer les majuscule dans l'insertion de la base
    Par jeinny dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/06/2009, 12h01
  3. [MySQL] mysql forcer un ou plusieurs enregistr.. en insertion
    Par tuxfuncky dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/03/2008, 14h11
  4. Réponses: 3
    Dernier message: 20/11/2005, 19h35
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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