|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2002
Messaggi: 342
|
[MySQL] - Trigger o no?
Salve ragazzi, chiedo aiuto perchè sono disperato. Devo ultimare un progetto per un esame universitario e sono a un punto morto. Non sono molto esperto di SQL, anzi diciamo che è solo da un mese che ci sto mettendo mano. Vi spiego che cosa devo realizzare, poi se qualcuno è esperto in materia e riesce ad aiutarmi lo ringrazio fin da subito.
Sto realizzando un database su un sistema di videonoleggio. Tra le varie tabelle che ho realizzato ce ne sono due in particolare: NOLEGGIO e DVD: CREATE TABLE noleggio( id_nol int(11) NOT NULL auto_increment primary key, DataRestEff date, Cliente int(11) references cliente(id_cliente), dvd int(11) references dvd(id_dvd), inizio timestamp references giorno(data_iniz), tipo tinyint(1) default 0 COMMENT '0 se è un noleggio passato, 1 se è un noleggio in corso' ) CREATE TABLE dvd( id_dvd int(10) NOT NULL auto_increment primary key, data_fabb date, quantita tinyint(3), id_film int(4) references film(id_film), check(quantita > 0 and quantita <=5) ) Quello che devo fare a questo punto è questo: 1) Inserire un nuovo noleggio corrente nella tabella NOLEGGIO. Di conseguenza l’attributo quantità nella tabella DVD relativo al dvd che è noleggiato viene decrementato di 1 unità automaticamente . E' possibile inserire un noleggio corrente solo se l’attributo quantità relativo al dvd che si vuole noleggiare è maggiore di zero. 2) Aggiorna un noleggio da corrente a passato nella tabella NOLEGGIO, nel momento in cui il dvd viene restituito. Di conseguenza l’attributo quantità nella tabella DVD relativo al dvd che è noleggiato viene incrementato di una unità automaticamente. Vi prego se c'è qualcuno che sa metterci mano e ha tempo da perderci mi date una mano? sono disperato
__________________
Il mio pc: Lenovo Z500. Intel Core i7 3632QM, 8GB DDR PC12800, Nvidia Geforce 635 2GB, HDD 1TB 5400rpm, Windows 8 64bit |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:35.



















