
-- SI-T 24/01/2022 - ESE3

-- 3.2)
create table PROMOZIONI (
     PID char(5) not null primary key,
     Valore DEC(4,2) not null,
     NumProdotti INT not null DEFAULT 0	);

create table DISPONIBILITA (
     CodProdotto char(5) not null,
     CodNegozio char(5) not null,
     Quantita INT not null,
     PID char(5) references PROMOZIONI,
     constraint ID_DISPONIBILITA_ID primary key (CodProdotto, CodNegozio));

   
-- 3.3)

UPDATE DISPONIBILITA
SET	 PID = :idPromozione
WHERE (CodProdotto,CodNegozio) = (:codprod,:codnegozio);

CREATE OR REPLACE TRIGGER UPDATE_NUM_PRODOTTI
AFTER UPDATE OF PID ON DISPONIBILITA
REFERENCING NEW AS N
FOR EACH ROW
UPDATE 	PROMOZIONI
SET		NumProdotti = NumProdotti + 1
WHERE	  PID = N.PID ;

