Hi, was ist der Unterschied zwischen einem Trigger, bei dem "for each row" dabei steht und einem, bei dems nicht dabei steht.
thx^^
thx^^
BEGIN SELECT count(*) INTO nochnichtbestanden FROM pruefung WHERE pruefung.matrikelNr = NEW.matrikelNr AND pruefung.vnr = NEW.vnr AND note > 4; -- Prüfling hat das Fach nicht bestanden SELECT count(*) INTO abgeleget FROM pruefung WHERE pruefung.matrikelNr = NEW.matrikelNr AND pruefung.vnr = NEW.vnr AND versuche < 2; -- Anzahl der Versuche IF nochnichtbestanden == false && abgelegt == false RAISE EXCEPTION 'Prüfung darf nicht eingetragen, da Prüfung schon bestanden oder mehr als 2 Versuche !'; END IF; RETURN NEW; create TRIGGER Pruefungsvoraussetzung BEFORE insert or update ON pruefung for each row execute procedure checkPruefung();
SELECT count(*) INTO schonBestanden FROM pruefung WHERE pruefung.matrikelNr = NEW.matrikelNr AND pruefung.vnr = NEW.vnr AND note <= 4;
if schonbestanden >0 Raise excetion 'Prüfung wurde schon abgelegt und darf nicht wiederholt werden'
Comment