From: | Alejandro Carrillo <fasterzip(at)yahoo(dot)es> |
---|---|
To: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Cc: | "alvherre(at)alvh(dot)no-ip(dot)org" <alvherre(at)alvh(dot)no-ip(dot)org>, "jalmaguer(at)estudiantes(dot)uci(dot)cu" <jalmaguer(at)estudiantes(dot)uci(dot)cu>, "jaime(at)2ndquadrant(dot)com" <jaime(at)2ndquadrant(dot)com> |
Subject: | ¿Que opinan de esto? |
Date: | 2011-11-21 19:48:25 |
Message-ID: | 1321904905.75245.YahooMailNeo@web27406.mail.ukl.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Buenas tardes,
Que opinan de lo siguiente:
"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.
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."
Espero sus opiniones, a favor y/o en contra, acerca de esto,
Alejandro Carrillo
From | Date | Subject | |
---|---|---|---|
Next Message | Jaime Casanova | 2011-11-21 20:03:57 | Re: [pgsql-es-ayuda] ¿Que opinan de esto? |
Previous Message | Alejandro Carrillo | 2011-11-21 19:39:00 | Diseño de solución y Capa de negocio |