Estou escrevendo uma coleção de funções armazenadas no Postgres 11.5 e quero fazer isso RAISE EXCEPTION
quando várias pré-condições não forem atendidas. Por exemplo, uma null
string ou vazia com uma string é necessária, ou um parâmetro inteiro que está fora do intervalo, etc.
Posso RAISE EXCEPTION
fornecer detalhes, dicas e uma mensagem... mas qual intervalo devo usar para o código de erro? Eu verifiquei os documentos, mas não encontrei nenhuma orientação aqui:
https://www.postgresql.org/docs/11/errcodes-appendix.html
Pesquisei no StackOverflow, encontrei uma pergunta semelhante de anos atrás ... mas não uma resposta clara.
Existe algum bloco ou prefixo que seja seguro ou convencional para usar para códigos de erro personalizados retornando de funções/procedimentos armazenados?
O padrão SQL fornece uma diretriz:
Se sua exceção corresponder a um dos SQLSTATEs no Apêndice A da documentação do PostgreSQL, simplesmente use esse SQLSTATE.
Se você precisar usar seu próprio SQLSTATE, comece com qualquer de
5
to9
ouI
toZ
.Se você precisar definir um aviso personalizado, use um SQLSTATE que comece com
01
e cujo terceiro caractere seja qualquer de5
to9
ouI
toZ
.