-------------PREGUNTA 1---------------
CREATE TRIGGER ACTUALIZA_STOCK ON VENTA_DETALLE FOR UPDATE
AS
BEGIN
DECLARE @CANTIDAD INT
DECLARE @CANTIDAD_2 INT
DECLARE @PRODUCTO INT
IF UPDATE (Q_CANTIDAD)
BEGIN
SELECT @CANTIDAD_2=Q_CANTIDAD,@PRODUCTO = C_PRODUCTO FROM INSERTED
SELECT @CANTIDAD = Q_CANTIDAD FROM DELETED
UPDATE PRODUCTO
SET Q_STOCK = Q_STOCK + @CANTIDAD-@CANTIDAD_2
WHERE C_PRODUCTO = @PRODUCTO
END
END
UPDATE VENTA_DETALLE
SET Q_CANTIDAD = 6
WHERE C_PRODUCTO = 1
SELECT * FROM PRODUCTO
select * from VENTA
SELECT * FROM CLIENTE
SELECT * FROM VENTA_DETALLE
------PREGUNTA 2-----------
-------PREGUNTA 2----------
CREATE TRIGGER ANULVENTA ON VENTA_DETALLE FOR DELETE
AS
DECLARE @CANTIDAD_PRODUCTO INT
DECLARE @PRECIO_UNITARIO MONEY
BEGIN
SELECT @CANTIDAD_PRODUCTO = Q_CANTIDAD FROM DELETED
SELECT @PRECIO_UNITARIO = S_PRECIO_UNITARIO FROM PRODUCTO
WHERE C_PRODUCTO = (SELECT C_PRODUCTO FROM DELETED)
UPDATE VENTA
SET S_VENTA_TOTAL = S_VENTA_TOTAL -@CANTIDAD_PRODUCTO*@PRECIO_UNITARIO
WHERE C_VENTA= (SELECT C_VENTA FROM DELETED)
END
DELETE FROM VENTA_DETALLE WHERE C_PRODUCTO = 1 AND C_VENTA = 1
SELECT *FROM VENTA_DETALLE
SELECT * FROM VENTA
---------PREGUNTA 3-----------
CREATE TRIGGER ACTUALIZA_STOCK_ANUL ON VENTA_DETALLE FOR DELETE
AS
BEGIN
DECLARE @CANTIDAD INT
DECLARE @C_PRODU INT
SELECT @CANTIDAD=Q_CANTIDAD FROM DELETED
SELECT @C_PRODU = C_PRODUCTO FROM DELETED
UPDATE PRODUCTO
SET
Q_STOCK =Q_STOCK + @CANTIDAD
WHERE
C_PRODUCTO = @C_PRODU
END
SELECT * FROM PRODUCTO
DELETE FROM VENTA_DETALLE WHERE C_PRODUCTO = 1 and C_VENTA = 1 AND Q_CANTIDAD = 2
No hay comentarios:
Publicar un comentario