PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 05/06/2018 14:46:25

brevart
Membre

Traitement particulier sur INSERT

Je fait un INSERT sur une table.
Est-ce possible de faire un traitement personnalisé en cas d'erreur de l'INSERT ?
Dans le style de la fonction ON ERROR sur d'autres base.

Merci de votre aide.

Cordialement

Hors ligne

#2 05/06/2018 23:05:29

gleu
Administrateur

Re : Traitement particulier sur INSERT

En SQL, non, vous ne pouvez pas récupérer d'une erreur, en dehors de celle d'un conflit avec une contrainte d'unicité (INSERT... ON CONFLICT). Et encore, le traitement personnalisé est limité "ne rien faire" ou "mettre à jour".

Le seul moyen que je vois est d'intégrer le INSERT dans une fonction et de récupérer l'erreur dans une exception. Ça se fait en PL/pgsql par exemple.


Guillaume.

Hors ligne

#3 06/06/2018 11:38:37

brevart
Membre

Re : Traitement particulier sur INSERT

Merci, je vais tenter via une fonction.

Hors ligne

Pied de page des forums