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

  1. #1
    Candidat au Club
    Gestion des exceptions dans une procédure stockée Postgresql
    Bonjour,

    Je voudrais gérer les exception dans une procédure stocké, quelqu'un peut m'aider à ce sujet ? Merci
    car j'ai compris que nous pouvons pas utiliser les instructions des exceptions exception when others then ...


    Exemple

    Begin

    insert into table_name (exception d'unicité l'insert se plante comment je peux capter cette erreur)

    end

    j'insiste sur la procédure stocké pour gérer en même temps les commit et rollback

    Merci

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    Si c'est uniquement pour gérer la violation d'une contrainte unique dans un INSERT, vous n'êtes pas obligé de passer par une procédure stockée.
    Sous PostgreSQL, vous avez, dans INSERT, la clause ON CONFLICT ON CONSTRAINT nom_contrainte_unicite DO....
    Le lien vers la documentation officielle : https://doc.postgresql.fr/12/sql-insert.html

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Candidat au Club
    Cas particulier
    Ced merci pour votre réponse,

    Mais l'insert c'était un exemple, dans certains cas j'aurais besoin de forcer un rollback ou commit en fonction de certains critères et envoyer pr un raise exception vers un block d'exception

    Merci

  4. #4
    Rédacteur/Modérateur

    Eh bien en fait, en relisant la doc, il semble qu'on puisse gérer les exceptions en Pl/PgSQL.
    C'est ici : https://doc.postgresql.fr/12/plpgsql...tructures.html, au paragraphe 42.6.8, avec l'instruction EXCEPTION.

    Je ne peux pas en dire plus, je n'ai jamais testé...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

###raw>template_hook.ano_emploi###