DBAtlas · Atlas d'exploitation des bases de données

P0001: raise_exception

PostgreSQL

Que signifie cette erreur ?

Une fonction ou un trigger PL/pgSQL a levé volontairement une erreur avec RAISE EXCEPTION. Cette erreur n'est pas produite par le moteur de base de données mais par du code de règles métier écrit par vous (ou par une bibliothèque).

Cause

Lorsque la logique métier échoue à une validation, le développeur a appelé RAISE EXCEPTION 'message' USING ERRCODE = ...;. Par exemple, un trigger lève une erreur personnalisée pour bloquer une mise à jour interdite ou faire respecter une règle de cohérence.

Comment la corriger

Le message d'erreur et les éventuels champs HINT/DETAIL expliquent ce que la fonction a refusé ; respectez la règle métier en conséquence. Pour trouver la source, inspectez le code de la fonction/du trigger concerné (les instructions RAISE). Si un SQLSTATE précis est nécessaire, attribuez un code significatif avec RAISE ... USING ERRCODE au lieu du générique P0001, afin que l'application puisse le distinguer.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur