Declaração do SQL Server Raiserror

Declaração do SQL Server Raiserror
A instrução RAISERROR no SQL Server permite gerar e exibir mensagens de erro definidas pelo usuário.

Usando a instrução RAISERROR, você pode criar mensagens de erro personalizado e exibi-las em seus aplicativos. As mensagens de erro geradas pela instrução RAISERROR usarão o mesmo formato que as mensagens geradas pelo sistema.

Você também pode definir vários parâmetros, como gravidade e estado das mensagens.

A sintaxe da declaração do Raiserror é como mostrado abaixo:

Raiserror (message_id | message_content | @local_variable
gravidade, estado
Com opção
);

Vamos quebrar a sintaxe da declaração do Raiserror:

  1. message_id - o message_id refere -se a uma mensagem definida pelo usuário que o procedimento sp_addmessage usa para armazenar a mensagem no sistema.Mensagens Visualização do catálogo. Este valor deve estar acima de 50.000.
  2. message_content - este é o conteúdo real da mensagem de erro. A mensagem pode conter até 2.047 caracteres. Se a mensagem de erro exceder esse valor, o SQL Server exibirá apenas 2.044 caracteres e depois adicionará elipsis para mostrar o truncamento de mensagens. O formato da mensagem é semelhante ao da função Printf na programação C.
  3. @local_variable - qualquer variável de qualquer tipo de caractere segurando uma string formatada em um estilo idêntico como o message_content.
  4. Gravidade - define o nível de gravidade da mensagem mostrada pela declaração do Raiserror. Este é um valor inteiro que varia entre 0 e 25, cada valor indicando um nível de alta gravidade. Lembre -se de que qualquer valor de gravidade entre 20 e 25 é tratado como fatal. Se um erro fatal for recebido, o SQL Server encerra a conexão do cliente e registra a mensagem de erro. Para especificar um nível de gravidade acima de 18, você deve ter permissões de rastreamento de alter e ser um membro do papel de sysadmin.
  5. Estado - Este é um valor inteiro que varia entre 0 e 255. Os estados podem ajudar a identificar a seção específica que levanta os erros.
  6. Com a opção - este parâmetro é usado para modificar como as funções da declaração do Raiserror. As opções aceitas incluem:
    1. Com log - mostra a mensagem para o usuário e registrar o erro nos logs de erro.
    2. Com o SetError - define automaticamente os valores de erro ERROR_NUMBER e @@.
    3. Com Nowait - mostra a mensagem de erro ao cliente instantaneamente.

Dica: Se nenhum valor para o parâmetro message_id for definido, a declaração do Raiserror retornará um erro com um ID de 50.000. Portanto, verifique se todos os seus message_ids estão acima desse valor.

Dica:.

Crie mensagens ad hoc com o procedimento sp_addmessage

Para adicionar manualmente uma mensagem de erro ao sistema.Visualização do catálogo de mensagens, use o procedimento sp_addmessage, como mostrado no exemplo a seguir:

EXEC SP_ADDMESSAGE
@msgnum = 50001,
@Severity = 10,
@msgText = '[Erro]… este é um erro de teste Mess'ge';

Para ver a mensagem na visão do catálogo:

Selecione * do SYS.mensagens onde message_id = 50001;

A consulta deve retornar como mostrado:

Para executar a mensagem, use a instrução RAISERROR como mostrado:

Raiserror (50001,10,1);

A consulta deve retornar:

[Erro]… esta é uma mensagem de erro de teste

Para excluir uma mensagem do Sys.Visualização do catálogo de mensagens, use o sp_dropmessage como mostrado:

EXEC SP_DROPMESSAGE @MSGNUM = 50001;

Declaração de Raaisrror no bloco Try/Catch

Podemos usar a instrução RAISERROR para apresentar um erro dentro de um bloco de tentativa/captura, como mostrado na consulta de exemplo a seguir:

Comece a tentar
Raiserror ('Erro no bloco de tentativa', 15, 1);
Fim de tentativa
Comece a pegar
Declarar @errormsg nvarchar (4000);
Declare @Severity Int;
Declarar @e_state int;
Selecione
@errormsg = error_message (),
@gravidade = error_severity (),
@e_state = error_state ();
RaSerror (@errormsg, @Severity, @E_State);
End Catch

Se executarmos a consulta, devemos ver a seguinte mensagem de erro:

MSG 50000, Nível 15, Estado 1, linha 12
Erro no bloco de tentativa

Conclusão

Neste artigo, você aprendeu a usar a instrução RAISERROR no SQL Server para gerar mensagens de erro personalizado. Isso inclui a criação de mensagens ad hoc com o procedimento SP_ADDMESSAGE e o uso da instrução RAISERROR no bloco Try/Catch. Esperamos que você tenha achado este artigo útil. Confira outros artigos de dica do Linux para obter mais dicas e informações.