PHP rocks! wünscht allen Mitgliedern einen guten Rutsch ins neue Jahr 2017 !!!
Hinweis: Das Forum zieht um! Um keine Datenverluste zu haben, schalten wir zwecks Übernahme der Daten das Forum am Sonntag, den 24.04.2016 um ca. 21:00 Uhr offline und passen anschliessend die DNS-Einträge an.
www.php-rocks.de wird euch dann nach den Aktualisierungen der DNS-Server wieder wie gewohnt uneingeschränkt zur Verfügung stehen.
Danke für euer Verständnis!

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
PROCEDURE call über Trigger - Verständnisfrage
#1
Hallo,

Mal sehen, ob ich hier auch pgSQL-Profis finde.  Big Grin

Ich möchte in einem Trigger eine PROCEDURE aufrufen, was ja mit EXEC kein Problem darstellen sollte.
Allerdings habe ich mir dazu auch die Doku angesehen: http://www.postgresql.org/docs/9.4/static/plpgsql-trigger.html
PG-Doku schrieb:
Code:
CREATE TABLE emp (
   empname text,
   salary integer,
   last_date timestamp,
   last_user text
);

CREATE FUNCTION emp_stamp() RETURNS trigger AS $emp_stamp$
   BEGIN
       -- Check that empname and salary are given
       IF NEW.empname IS NULL THEN
           RAISE EXCEPTION 'empname cannot be null';
       END IF;
       IF NEW.salary IS NULL THEN
           RAISE EXCEPTION '% cannot have null salary', NEW.empname;
       END IF;

       -- Who works for us when she must pay for it?
       IF NEW.salary < 0 THEN
           RAISE EXCEPTION '% cannot have a negative salary', NEW.empname;
       END IF;

       -- Remember who changed the payroll when
       NEW.last_date := current_timestamp;
       NEW.last_user := current_user;
       RETURN NEW;
   END;
$emp_stamp$ LANGUAGE plpgsql;

CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
   FOR EACH ROW EXECUTE PROCEDURE emp_stamp();
Soweit also nichts spannendes.

Meine Frage ist, ob diese Zeile notwendig ist und warum genau?
Code:
$emp_stamp$ LANGUAGE plpgsql;
Antworten


Gehe zu: