Aufgabe (Wiederholung): Sind OLD und NEW immer bei allen Triggern verfügbar? Bei welchen?

Lösung: OLD und NEW sind beide bei UPDATE-Triggern verfügbar. Bei INSERT ist nur NEW möglich, schließlich gibt es kein altes Tupel. Analog gibt es bei DELETE nur OLD.

Aufgabe (Wiederholung): Schreiben Sie die Funktion pruefer_benachrichtigen() für den o.g. Trigger, die bei einer Einfügung in die Tabelle pruefungen einen Eintrag in aufgaben anlegt, die dem Prüfer zugeordnet ist und als Aufgabentext eine Zusammenfassung der eingetragenen Prüfung enthält.

Lösung:

CREATE OR REPLACE FUNCTION pruefer_benachrichtigen() RETURNS TRIGGER AS $$
BEGIN
  INSERT INTO aufgaben(pers, aufgabe, offen_seit)
  VALUES (NEW.pers, 'Prüfung Student: ' || NEW.matnr || ', Vorl.: ' || NEW.vlnr, CURRENT_DATE);
  RETURN NULL;
END
$$ LANGUAGE plpgsql;

results matching ""

    No results matching ""