¿Necesito usar un bloque try..catch y un rollback explícito en un procedimiento de SQL Server?
Si estoy codificando un procedimiento de SQL Server (2008r2), y lo envuelvo en una transacción, ¿tengo que encerrarlo explícitamente en un bloque try..catch, y luego llamar explícitamente rollback en el bloque catch, o saldrá y deshacer el mismo por su cuenta?
es decir.:
¿Cómo hace esto:
begin transaction
begin try
delete from....
insert into...
end try
begin catch
rollback transaction
return
end catch
commit transaction
Comparar con:
begin transaction
delete from....
insert into...
commit transaction
Gracias por cualquier ayuda.