Salve a tutti mi sto esercitando per un esame di "Basi di Dati" e sto provando a svolgere questo esercizio:
Editori(codice, nome, indirizzo, citta)
Librerie(codice, nome, indirizzo, citta)
Autori(nome, nascita, morte*, nazione)
Pubblicazioni(codice, titolo, data stampa, autore (fk), editore(fk))
Giacenze(libreria (fk), pubblicazione (fk), copie disponibili)
Vendite(libreria (fk), pubblicazione (fk), data, copie vendute)
scrivere un trigger che, in seguito all’inserimento di una nuova ennupla nella relazione Vendite, aggiorni la corrispondente giacenza: in particolare il trigger deve: i. impedire la modi?ca se il numero di copie disponibili `e inferiore alle copie vendute; ii. decrementare le copie disponibili, altrimenti (si noti che le copie disponibili possono quindi essere zero dopo la modi?ca).
Questa è la mai soluzione, penso sia completamente errata, ma almeno ci ho provato
create trigger aggiornamento_vendite
after insert on vendite
when giacenze.copie_disponibili < vendite.copie_vendute
alter table vendite
add constraint no_modifica
giacenze.copie_diponibili > vendite.copie_vendute
update giacenze
set copie_disponibili = copie_disponibili - 1
Qualcuno può aiutarmi a correggerla?