Está en la página 1de 2

--4.

Hacer un PA denominado PA_GetProv, que reciba como parametro el codigo del


proveedor y retorne la ciudad donde vive el proveedor.

CREATE PROCEDURE PA_GetProv (@xcprv INT, @xnomb CHAR(40) OUTPUT)


AS
SELECT @xnomb=nomb FROM prov WHERE cprv=@xcprv
RETURN

-- Ejecutar el PA

DECLARE @xnomb CHAR(40)


EXECUTE PA_GetProv 3, @xnomb OUTPUT
PRINT @xnomb

--7. Hacer un PA denominado PA_TotalStock que reciba como parametro el codigo del
producto y retorne el TotalStock existente del producto. (El stock es la sumatoria
de cantidades suministrada del producto).

CREATE PROCEDURE PA_TotalStock(@xcprd INT, @stock INT OUTPUT)


AS
SELECT @stock=isnull(sum(cant),0) FROM sumi
WHERE cprd=@xcprd
RETURN

-- Ejecutar el PA

DECLARE @xresul INT


EXECUTE PA_TotalStock 3,@xresul OUTPUT
PRINT @xresul

--8. Hacer un PA denominado PA_HayStock que reciba como parametro el codigo del
producto y que retorne 1 si hay Stock disponible, de lo contrario que retorne 0.

CREATE PROCEDURE PA_HayStock (@xcprd INT, @resul INT OUTPUT)


AS
DECLARE @xStock INT
SET @resul=0
EXECUTE PA_TotalStock @xcprd, @xStock OUTPUT
IF @xStock>0 SET @resul=1
RETURN

-- Ejecutar el PA

DECLARE @xresul INT


EXECUTE PA_HayStock 3, @xresul OUTPUT
PRINT @xresul

--9. Hacer un PA denominado PA_TotalStockCiudad que reciba como parametro el codigo


del producto y ciudad, y que retorne el TotalStock existente del producto en esa
ciudad.

CREATE PROCEDURE PA_TotalStockxAlmacen(@xcprd INT, @xcalm INT,@stock INT OUTPUT)


AS
SELECT @stock=sum(cant) FROM sumi,alma
WHERE sumi.calm=alma.calm AND cprd=@xcprd AND sumi.calm=@xcalm
RETURN

-- Ejecutar el PA
DECLARE @xresul INT
EXECUTE PA_TotalStockCiudad 3, 1,@xresul OUTPUT
PRINT @xresul

--10. Hacer un PA denominado PA_HayStockxAlmacen que reciba como parametro el


codigo del producto y el codigo del almacen, que retorne 1 si hay Stock disponible
del producto en esa ciudad, de lo contrario que retorne 0. (El stock es la
sumatoria de cantidades suministrada del producto).

CREATE PROCEDURE PA_HayStockxAlmacen (@xcprd INT, @xcalm INT,@resul INT OUTPUT)


AS
DECLARE @xStock INT
SET @resul=0
EXECUTE PA_HayStockxAlmacen @xcprd, @xcalm, @xStock OUTPUT
IF @xStock>0 SET @resul=1
RETURN

-- Ejecutar el PA

DECLARE @xresul INT


EXECUTE PA_HayStockCiudad 3, 1,@xresul OUTPUT
PRINT @xresul

--12. Hacer un PA denominado PA_TotalPreVenta, que reciba el Numero de Venta y que


retorne el Importe Total de la Pre Venta.

DROP PROCEDURE PA_TotalPreVenta


CREATE PROCEDURE PA_TotalPreVenta(@Nvta INT, @CantProd INT OUTPUT,@ImptTot DECIMAL
OUTPUT)
AS
SET @ImptTot=0
SELECT @ImptTot=isnull(sum(impt),0) FROM pventas,dventas
WHERE pventas.nvta=dventas.nvta AND pventas.nvta=@Nvta

RETURN

-- Ejecutar el PA

DECLARE @xCantProd INT


DECLARE @xImptTot DECIMAL
EXECUTE PA_TotalPreVenta 1, @xCantProd OUTPUT, @xImptTot OUTPUT
PRINT @xCantProd
PRINT @xImptTot

--14. Hacer un PA denominado PA_DelPreVentas, que reciba como parametro Numero de


Ventas y elimina los datos de las tablas dventas.

CREATE PROCEDURE PA_DelPreVentas(@Nvta INT)


AS
DELETE FROM dventas WHERE dventas.nvta=@Nvta
RETURN

-- Ejecutar el PA

EXECUTE PA_DelPreVentas 1

También podría gustarte