Lenguaje de Programación VI

EJEMPLO DE PROCEDIMIENTOS ALMACENADOS
-- PROCEDIMIENTO ALMACENADO PARA CONSULTAR EN UNA TABLA create procedure SP_consultar @fecha datetime as select IdBoleta,Nroboleta,Fecha from Boleta where @fecha=Fecha exec SP_consultar '12/05/1990'

-- PROCEDIMIENTO ALMACENADO PARA INSERTAR EN UNA TABLA create procedure SP_InsertarCliente (@IdCliente int, @NombreCliente nvarchar (30), @Direccion nvarchar (50), @Telefono nchar(10)) as INSERT INTO [EJEMPLO].[dbo].[Cliente] (IdCliente, NombreCliente, Direccion, Telefono) VALUES (@IdCliente , @NombreCliente, @Direccion, @Telefono) Exec SP_InsertarCliente 1,'Carmen','Cajamarca','210453' SELECT * FROM cLIENTE -- PROCEDIMIENTO ALMACENADO PARA ACTUALIZAR ALTER PROCEDURE SP_consultar @NroBoleta int as select IdBoleta,Nroboleta,Fecha from Boleta where @NroBoleta=Nroboleta --PROCEDIMIENTO PARA INSERTAR EN 2 TABLAS --Aca hay ejemplos de insertar a dos tablas Customer y Address --osea un Cliente puede tener varias direcciones. --Solo le envias los parametros a InsertCustomer y este llama a -- InsertAddress mediante la clausula EXEC pero metidos en una transaccion --para hacegurarte que se ejecute en las dos tablas de lo contrario se hace un Rollbak. -- InsertAddress ------------------------------------------------

Ing. Yesenia Alayo

Insert the new address and then return the -. Fax. Country. PhoneNumber. @PhoneNumber. INT = NULL OUTPUT Ing. NVARCHAR(30) = NULL.return ID for new Address record SELECT @PKId = @@IDENTITY RETURN 0 -----------------------------------------------GO --------------------------------------------------. NVARCHAR(255) = NULL. Yesenia Alayo .new identifier (PKId) INSERT Addresses (Address. @CustomerId -. @Fax. CustomerId) SELECT @Address.InsertCustomer -------------------------------------------------NVARCHAR(255) = NULL.Lenguaje de Programación VI CREATE PROCEDURE InsertAddress @Address @Country @PhoneNumber @Fax @CustomerId @PKId AS SET NOCOUNT ON -. @Country. NVARCHAR(40) = NULL. NVARCHAR(30) = NULL.

Name) INT = NULL OUTPUT. return as OUTPUT param SELECT @PKId = @@IDENTITY -. NVARCHAR(30) = NULL. @Name -. NVARCHAR(50) = NULL. Yesenia Alayo .Insert New Address record Ing. NVARCHAR(255) = NULL. BINARY(24) = NULL. @Password. NVARCHAR(40) = NULL. NVARCHAR(30) = NULL SELECT @Email.Lenguaje de Programación VI CREATE PROCEDURE InsertCustomer @PKId @Email @Password @Name @Address @Country @PhoneNumber @Fax AS SET NOCOUNT ON DECLARE @AddressId INT DECLARE @CustomerId INT SET XACT_ABORT ON BEGIN TRANSACTION -.Insert Values into the customer table INSERT Customers (Email. Password. NVARCHAR(40) = NULL.Get the new Customer Identifier.

Lenguaje de Programación VI -. @Fax. @PKId. @Country. Yesenia Alayo .Retrieve Address reference into @AddressId EXEC InsertAddress @Address. @PhoneNumber. @AddressId OUTPUT COMMIT TRANSACTION RETURN 0 Ing.