SQL Server - TRY / CATCH en SQL

 
Vista:

TRY / CATCH en SQL

Publicado por Sor (3 intervenciones) el 01/02/2020 05:56:04
¿Existe una forma de probar código con try/catch de alguna forma en SQL8.0 (server)?
No sé mucho del tema, pero interesa crear un stored procedure que pueda almacenar datos en diferentes tablas y que si hay algún error al agregar en alguna tabla, no se ejecute la acción en ninguna otra. Pensaba en una transacción, pero necesitaría meterla en el SP. Sin embargo no conozco la forma de validar si se cumplen todas las condiciones para terminar la sentencia con un COMMIT o ROLLBACK. Si alguien conoce la manera de hacer esto, ya sea con TRY/CATCH de la forma que expliqué o de alguna otra. Por favor contactarme :'v O si no me entendieron y no me hice explicar. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

TRY / CATCH en SQL

Publicado por Sor (3 intervenciones) el 04/02/2020 21:41:04
Ya intenté eso y me da error :'v Lo estoy escribiendo dentro de un stored procedure y quiero saber si hay alguna forma de hacerlo funcionar así
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

TRY / CATCH en SQL

Publicado por Sor (3 intervenciones) el 04/02/2020 22:26:24
Lo estoy probando así.
BEGIN TRY
<instrucción>
END TRY
BEGIN CATCH
<instrucción>
END CATCH



Y ME MARCA ERROR DE SINTAXIS XD NO ENTIENDO :c
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 32
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

TRY / CATCH en SQL

Publicado por Luis Horacio (13 intervenciones) el 04/02/2020 20:24:33
Buenas tardes,

Puede empezar con estas instrucciones:

Begin TRY
instruccion1
instruccion2

instruccion n
end try

begin catch
SELECT ERROR_NUMBER() AS NumeroError
, ERROR_SEVERITY() AS Severidad
, ERROR_STATE() AS Estado
, ERROR_PROCEDURE() AS Procedimiento
, ERROR_LINE() AS Linea
, ERROR_MESSAGE() AS Mensaje
end catch
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 32
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

TRY / CATCH en SQL

Publicado por Luis Horacio (13 intervenciones) el 04/02/2020 22:58:49
Buenas tardes, en el el catch no necesita hacer nada diferente a las instrucciones que aparecen hay. Las instrucciones del procedimiento almacenado se colocan entre el BEGIN TRY ye el END TRY.

Lo del CATCH son instrucciones para que devuelva el error generado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar