Como lidar com exceções de sql
Video: SQL SERVER (T-SQL) - Tratamento de Exceções - Try-Catch
Conteúdo
Ao tentar determinar a origem de um erro SQL e SQLSTATE indica uma condição de excepção pela realização de um valor que não seja 00000, 00001, ou 00002, você pode querer lidar com a situação em uma das seguintes maneiras:
Video: PD - Stored Procedure com Tratamento de Exceção e Transação no SQL Server 2012
Retornar o controle para o processo pai que chamou o subprocedimento que gerou a exceção.
Video: COMO CRIAR MINHOCAS NUMA CAIXA DE GELADEIRA.wmv
Use um SEMPRE QUE cláusula de ramificar para uma rotina de tratamento de exceção ou executar alguma outra ação.
Tratar a exceção no local com uma composto instrução SQL. A instrução composta SQL consiste em um ou mais instruções SQL simples, espremido entre INÍCIO e FIM palavras-chave.
O seguinte é um exemplo de um processador de excepções composto-declaração:
Video: Alevinos de tilápia
BEGINDECLARE ValueOutOfRange EXCEÇÃO PARA SQLSTATE`73003` -INSERT em alimentos (calorias) VALUES (: cal) -SIGNAL ValueOutOfRange -mensagem `Processo um novo calorias value.`EXCEPTIONWHEN ValueOutOfRange THENMESSAGE `Manipulação o erro gama de calorias` -Quando OUTROS THENRESIGNAL -END
Com um ou mais DECLARAR declarações, você pode dar nomes aos específico SQLSTATE valores que você suspeita pode surgir. o INSERIR declaração é o que pode causar uma exceção para ocorrer. Se o valor de : cal ultrapassa o valor máximo para uma SMALLINT item de dados, SQLSTATE está configurado para “73003”. o SINAL declaração sinaliza uma condição de exceção. Ela limpa a área de diagnóstico superior.
Ele define o RETURNED_SQLSTATE campo da área de diagnósticos ao SQLSTATE para a exceção nomeado. Se nenhuma exceção ocorreu, a série de declarações representado pelo MENSAGEM ‘Processo um novo valor calórico’ instrução é executada. No entanto, se ocorreu uma exceção, que série de instruções é ignorada, e o EXCEÇÃO instrução é executada.
Se a exceção foi um ValueOutOfRange exceção, em seguida, uma série de declarações representadas pela MENSAGEM ‘Manipulação o erro gama de calorias’ instrução é executada. o RESIGNAL declaração é executada se a exceção não é um ValueOutOfRange exceção.
RESIGNAL apenas passa o controle da execução do procedimento pai chamando. Esse procedimento pode ter código de tratamento de erros adicional para lidar com outras do que o erro esperado valor-out-of-range exceções.