El objetivo de comunicarles esto no es el que revisen el Delete, el objetivo es conocer su opinión acerca de esto:
"El procedimiento almacenado anterior muestra un ejemplo de como no deberían hacerse las cosas, en su lugar, debemos crear 3 procedimientos almacenados, uno por cada DELETE y orquestar la transacción de borrado en la capa de negocio. Los procedimientos almacenados deberían ser una herramienta para persistir datos, no un repositorio de lógica de negocio, además los procedimientos almacenados deberían operar solo con una única tabla, excepto aquellos en los que sea necesario realizar un join con varias tablas." >________________________________ > De: Alvaro Herrera <alvhe...@alvh.no-ip.org> >Para: Alejandro Carrillo <faster...@yahoo.es> >CC: Ayuda <pgsql-es-ayuda@postgresql.org> >Enviado: lunes 21 de noviembre de 2011 15:11 >Asunto: Re: ¿Que opinan de esto? > > >Excerpts from Alejandro Carrillo's message of lun nov 21 16:48:25 -0300 2011: >> Buenas tardes, >> >> Que opinan de lo siguiente: >> >> http://kartones.net/blogs/coco/archive/2009/11/27/la-capa-de-negocio-ii-aspectos-de-implementaci-243-n.aspx >> >> "En ocasiones la funcionalidad de borrado de datos es >> asociada con un solo procedimiento almacenado que se encarga de >> orquestar el orden de borrado, en estos casos, el procedimiento >> almacenado contiene lógica de negocio : >> CREATE PROCEDURE [dbo].[deleteCustomer] @CustomerId int >> AS >> BEGIN DELETE FROM CustomerAddresses WHERE CustomerId = @CustomerId DELETE >> FROM CustomerSalesPerson WHERE CustomerId = @CustomerId DELETE FROM >> Customers WHERE CustomerId = @CustomerId >> El procedimiento almacenado anterior muestra un >> ejemplo de como no deberían hacerse las cosas, en su lugar, debemos >> crear 3 procedimientos almacenados, uno por cada DELETE y orquestar la >> transacción de borrado en la capa de negocio. > >Honestamente, hace muucho tiempo que no veo una aplicación que realmente >haga DELETE de los registros de clientes ;-) > >-- >Álvaro Herrera <alvhe...@alvh.no-ip.org> > > >