--****************************
--PROCEDIMIENTOS**************
--****************************
--1.- DESCONTAR UN PORCENTAJE D DEL CLIENTE C QUE PARTICIPO EN MAS VENTAS
ALTER PROCEDURE PROC1 @C VARCHAR(255), @D INTEGER
AS
BEGIN
IF (EXISTS(SELECT * FROM CLIENTES WHERE NOMBRE= @C ) )
BEGIN
UPDATE VENTAS SET IMPORTE=IMPORTE - IMPORTE*(@D/100)
WHERE ID_VENTA IN (SELECT V1.ID_VENTA
FROM VENTAS V1, CLIENTES C
WHERE V1.ID_CLIENTE=C.ID_CLIENTE
AND V1.IMPORTE IN (SELECT MAX(V.IMPORTE)
FROM VENTAS V, CLIENTES C
WHERE V.ID_CLIENTE =C.ID_CLIENTE
AND @C=C.NOMBRE))
PRINT 'DATOS ACTULIZADOS'
END
ELSE
BEGIN
PRINT 'NO EXISTE CLIENTE'
END
END
EXEC PROC1 'JUAN FLORES',5
--2.- ELIMINAR LOS CONTRATO REALIZADOS POR EL CLIENTE DE NOMBRE N
--CONJUNTAMENTE CON LA COTIZACION REALIZADA Y LA FACTURA
CREATE PROCEDURE PROC2 (@N VARCHAR(255))
AS
BEGIN
DECLARE @ID_C INTEGER
SET @ID_C=(SELECT ID_CLIENTE FROM CLIENTES WHERE @N=NOMBRE)
IF (@ID_C!=NULL)
BEGIN
DELETE VENTA WHERE @ID_C=ID_CLIENTE
DELETE LINEA_COTIZACION WHERE ID_CONTRATO IN
(SELECT ID_CONTRATO FROM CONTRATO
WHERE ID_CLIENTE=@ID_C)
DELETE CONTRATO WHERE ID_CONTRATO=@ID_C
END
ELSE
BEGIN
PRINT 'NO EXISTE CLIENTE EN LOS REGISTROS'
END
END
EXEC PROC2 'JUAN PEREZ'
lunes, 26 de septiembre de 2011
[INF-272] PROYECTO : Procedimientos Almacenados
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario