Salve, ho un piccolo problema con questo trigger:
Il problema è che scatta sempre, anche se inserisco la prima riga nella tabella "Prenotazione"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;
Non capisco cosa c'è di sbagliato.

Rispondi quotando