Documentation PostgreSQL 8.3.23 > Programmation serveur > PL/pgSQL - Langage de procédures SQL > Erreurs et messages | |
Curseurs | Procédures trigger |
Utilisez l'instruction RAISE pour rapporter des messages et lever des erreurs.
RAISE niveau 'format' [, expression [, ...]];
Les niveaux possibles sont DEBUG, LOG, INFO, NOTICE, WARNING et EXCEPTION. EXCEPTION lève une erreur (ce qui annule habituellement la transaction en cours). Les autres niveaux ne font que générer des messages aux différents niveaux de priorité. Les variables de configuration log_min_messages et client_min_messages contrôlent l'envoi de messages dans les traces, au client ou aux deux. Voir le Chapitre 18, Configuration du serveur pour plus d'informations.
Au sein de la chaîne de formatage, % est remplacé par la représentation de la chaîne argument optionnelle suivante. Écrivez %% pour signifier un caractère %. Les arguments peuvent être de simples variables ou des expressions mais le format doit être une simple chaîne de caractères.
Dans cet exemple, la valeur de v_job_id remplace le % dans la chaîne.
RAISE NOTICE 'Appel de cs_creer_job(%)', v_job_id;
Cet exemple interromp la transaction avec le message d'erreur donné.
RAISE EXCEPTION 'ID inexistant --> %', id_utilisateur;
RAISE EXCEPTION génère toujours le même code SQLSTATE, P0001, quelque soit le message avec lequel il a été invoqué. Il est possible d'intercepter cette exception avec EXCEPTION ... WHEN RAISE_EXCEPTION THEN ... mais l'origine du RAISE déclencheur est inconnue.