sábado, 20 de febrero de 2010
Generación automática de procedimientos almacenados
La automatización hace que el tiempo de codificación sea más rápido y garantiza que todos los procedimientos generados usaran la misma estructura.Este post incluye como crear automaticamente los scripts T-SQL de los procedimientos almacenados.
Ejemplo:
EXEC pr__SYS_MakeUpdateRecordProc 'Customers'
Crea scripts T-SQL de Store Procedure de Update
EXEC pr__SYS_MakeDeleteRecordProc 'Customers'
EXEC pr__SYS_MakeInsertRecordProc 'Customers'
Crea scripts T-SQL de Store Procedure de Insert
EXEC pr__SYS_MakeSelectRecordProc
Crea scripts T-SQL de Store Procedure de Select 'Customers'
Creando automaticamente los store procedure quedarian con los siguiente nombres, como se pueden dar cuenta tiene la misma nomenclatura. En el ejemplo esta los store procedure de Customers y Orders.
prApp_Customers_Delete
prApp_Customers_Insert
prApp_Customers_Select
prApp_Customers_Update
prApp_Orders_Delete
prApp_Orders_Insert
prApp_Orders_Select
prApp_Orders_Update
Miremos un ejemplo completo,
crea el store para la tabla 'Order_Details'
EXEC pr__SYS_MakeUpdateRecordProc 'Order_Details'
El T-SQL Script quedara de la siguiente manera:
IF EXISTS(SELECT * FROM sysobjects WHERE name =
'prApp_Order_Details_Update')
DROP PROC prApp_Order_Details_Update
GO
-- Update a single record in Order_Details
CREATE PROC prApp_Order_Details_Update
@OrderID int,
@ProductID int,
@UnitPrice money,
@Quantity smallint,
@Discount real
AS
UPDATE Order_Details
SET UnitPrice = @UnitPrice,
Quantity = @Quantity,
Discount = @Discount
WHERE OrderID = @OrderID
AND ProductID = @ProductID
GO
Tienen que tomar ese T-SQL Script y ejecutarlo, pero si quieren evitarse ese paso solo tiene que agregar un 1 a parametro opcional. Ejemplo:
EXEC pr__SYS_MakeUpdateRecordProc 'Order_Details',1
Descarga de código disponible en:
StoredProcedures.exe (108 KB)
Articulo Original:
Msdn Magazine
Suscribirse a:
Comentarios de la entrada (Atom)
3 comentarios:
GRACIAS
En verdad muy muy MUY valioso esto para mi, un abrazo desde La Paz Bolivia
Está muy interesante tu post, me gustaria saber de donde puedo leer más información acerca de esto. Si me ayudas con eso, muchas gracias!
Me he instalado un virus, pendejo..!!!
Publicar un comentario