Salve, ho un piccolo problema con questo trigger:
codice:
-- Function: evita_doppia_prenotazione()
-- DROP FUNCTION evita_doppia_prenotazione();
CREATE OR REPLACE FUNCTION evita_doppia_prenotazione()
RETURNS trigger AS
$BODY$
BEGIN
IF ( NEW."Cod_s" = ANY (SELECT "Prenotazione"."Cod_s"
FROM "Prenotazione"
WHERE NEW."Data" = "Prenotazione"."Data"
GROUP BY "Prenotazione"."Cod_s"
)
)
THEN
RAISE EXCEPTION 'Lo studente ha già prenotato un altra postazione allo stesso orario';
END IF;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION evita_doppia_prenotazione() OWNER TO postgres;
Il problema è che scatta sempre, anche se inserisco la prima riga nella tabella "Prenotazione"
Non capisco cosa c'è di sbagliato.