Manejo de errores en SQL SERVER
SQL Server 2005 o superior incorpora el manejo de excepciones mediante un try y un catch en su lenguaje T-SQL.
La sintaxis es la siguiente:
BEGIN TRY
/*El código de lo que piensas ejecutar*/
END TRY
BEGIN CATCH
/*El mensaje de error en caso de que falle el try*/
END CATCH
Es muy simple, para los que ya programaron en otros lenguajes, no necesitan más explicaciones. Para los que nunca usaron un try, catch, la idea es la siguiente:
TRY permite tratar de ejecutar el código que programamos.
CATCH permite manejar y mandar mensajes de error generados durante el try.
Ejemplo de manejo de errores usando TRY, CATCH EN T-SQL
Vamos a hacer que este procedimiento almacenado de factorial devuelva el siguiente mensaje si existe un overflow (que el número exceda los rangos permitidos):
create procedure factorial
@fact bigint
as
BEGIN TRY
declare @res bigint
set @res =1;
while(@fact != 1)
begin
set @res = @res*@fact;
set @fact = @fact - 1;
end
print (@res)
END TRY
BEGIN CATCH
print 'El Numero no puede ser superior a 20'
END CATCH
Lo que hace este ejemplo de procedimiento almacenado es devolver el factorial de un número. Si por ejemplo le damos de parámetro de entrada 3 devolverá de resultado de factorial 6.
Este procedimiento almacenado devuelve un mensaje de error si el parámetro de entrada es superior a 20.
Si quieren más ejemplos o tienen dudas, pueden escribir a este blog.
REFERENCIAS:
http://msdn.microsoft.com/es-bo/library/ms175976(SQL.90).aspx
Comentarios
Publicar un comentario