Transacciones en las aplicaciones vs transacciones en el motor d bd

hola, quisiera saber cual es la diferencia de hacer una transacción en la aplicación y en el sql server mediante un sp.
Sucede que muchas veces se hace lo siguiente en las aplicaciones:
update personal set fecha_ingreso = :fecha where codi_pers = :código ;
if error = yes then
rollback;
else
commit;
end if
***********************************
en un SP lo tenemos así.
begin tran
update personal set fecha_ingreso = @fecha where codi_pers = @código

if error = yes begin

rollback tran

end

else befin

commit tran

end
************************************
se que se debe procurar tener toda clase de instrucción sql en el propio motor, pero que quisiera saber, cómo reacciona reacciona el motor si las transacciones se envían desde la aplicación¿?
qué sucede si en mi aplicación tengo lo siguiente¿?
update personal set fecha_ingreso = :fecha where codi_pers = :código ;

if error = yes then

rollback;

else
exec procedure dbo.usp_actualizar_algo ; //este proc tiene mas traccaciones
commit;

end if
************************************
qué sucede con las transacciones que tengo en el sp y con las transacciones que tengo en mi aplicación¿?
gracias por tu respuesta.

1 Respuesta

Respuesta
1

Todo depende de tus necesidades, a la hora de requerimientos en el caso de que sea en la aplicación el consumo de memoria seria en la maquina donde se esta ejecutando dicho proceso osea del lado del usuario y si es desde el sql seria del lado del servidor todo depende los requerimientos y del performance que quieras porque ya estaríamos hablando de recursos en mi opinión es mejor del lado del cliente osea aplicación ya que impactarías menos al servidor y solo deja los procesos gruesos para la bd de sql

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas