DBAtlas · Atlas de operações de banco de dados

P0001: raise_exception

PostgreSQL

O que significa?

Uma função ou trigger PL/pgSQL gerou um erro deliberadamente com RAISE EXCEPTION. Este erro não é produzido pelo motor do banco, mas por código de regra de negócio escrito por você (ou por uma biblioteca).

Por que acontece?

Quando a lógica de negócio reprova uma validação, o desenvolvedor chamou RAISE EXCEPTION 'message' USING ERRCODE = ...;. Por exemplo, uma trigger gera um erro personalizado para bloquear uma atualização não permitida ou impor uma regra de consistência.

Como resolver

A mensagem de erro e os eventuais campos HINT/DETAIL explicam o que a função rejeitou; satisfaça a regra de negócio de acordo. Para encontrar a origem, inspecione o código da função/trigger correspondente (os comandos RAISE). Se for necessário um SQLSTATE específico, atribua um código significativo com RAISE ... USING ERRCODE em vez do genérico P0001, para que a aplicação consiga diferenciá-lo.

Abrir no DBAtlas →

Mais entradas deste banco