trigger Prog non frequentante Clicca QUI per vedere il messaggio nel forum |
strad84 |
Richiedeva di fare un controllo che un allenatore non può fare + di 3 corsi al giorno.
Questa è solo la funzione...che poi richiamo con il trigger..ma nn va..
PHP:
CREATE FUNCTION trecorsi() RETURNS trigger AS $trecorsi$
BEGIN
if ( select count(*)
from corso,orariocorso
where corso.codice = NEW.codcorso and giornosett = EXTRACT(ISODOW FROM current_date)
group by idallenatore
) > 3
then raise exception 'NON PUOI FARE PIU DI 3 CORSI AL GIORNO';
end if;
RETURN NEW;
END;
il problema è che se ho un solo allenatore funziona, ma se ne ho + allenatori no.
per esempio con 2 allenatori
(questi me li fa inserire)
allenatore 1
allenatore 2
allenatore 1
allenatore 2
(questi no...anche se andrebbero inseriti xche verificherebbe la condizione)
allenatore 1
allenatore 2
sono i prossimi 2 che non mi deve far inserire
Spero di essere stato chiaro. grazie!!! |
frenklin |
un preparatore non può dedicare più di 3 ORE al giorno ai corsi, non c è scritto che non può fare piu di 3 corsi..ocio stai sbagliando.
Metti che un corso dura 2 ore, un altro ancora ne dura sempre 2. Nel tuo caso un preparatore nello stesso giorno può fare tutti e due i corsi, per un totale di 4 ore. Non è corretto.
Io ho l orario di entrata al corso e l orario di uscita. Faccio la differenza di questi 2 valori per quel preparatore in quel giorno e vedo se la differenza è maggiore di 03:00:00. A me funziona |
strad84 |
ah ok....hai ragione..perche nel nostro caso avevamo provato che ogni corso durava un ora. allora provo cosi
ciao e grazie! |
|
|
|