Codice PHP:
select count(*)
from corso,orariocorso
where corso.codice = orariocorso.codcorso and giornosett = EXTRACT(ISODOW FROM current_date)
group by idallenatore
having count(*) >3
questa query funziona...ho fatto la funzione da richiamare con il trigger....
Codice 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;
$trecorsi$ LANGUAGE plpgsql;
CREATE TRIGGER trecorsi BEFORE INSERT OR UPDATE ON orariocorso
FOR EACH ROW EXECUTE PROCEDURE trecorsi();
il problema è che se ho un solo allenatore funziona, ma se ne ho + di uno 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!!!