Hallo,
ich habe ein kleines Problem. Ich habe bisher nur für Oracle Trigger programmiert. Nun sind in Postgres leider einige Dinge anders. Hier erstmal mein Trigger:
Code:
CREATE OR REPLACE FUNCTION aktivstation_werte() RETURNS TRIGGER AS $akt_wert$
DECLARE
cur REFCURSOR;
rec t_stamm_station%ROWTYPE;
BEGIN
OPEN cur FOR SELECT * FROM t_stamm_station order by id;
LOOP
FETCH cur INTO rec;
IF NOT FOUND THEN
EXIT;
END IF;
INSERT INTO v_wacs_parameter(id, name, beschreibung, parent_id, cruser) VALUES (nextval('seq_t_wacs_parameter_id'), '' || rec.id || '', '' || rec.station || '', (SELECT id FROM v_wacs_parameter WHERE name = 'aktivstation'), 'script');
END LOOP;
CLOSE cur;
RETURN NULL; -- result is ignored since this is an AFTER trigger
END;
$akt_wert$ LANGUAGE plpgsql;
CREATE TRIGGER akt_wert AFTER INSERT ON t_wacs_parameter FOR EACH ROW EXECUTE PROCEDURE aktivstation_werte(); Und hier die Fehler:
Obwohl in der Tabelle t_stamm_station nur 9 Einträge sind, wird ein Stack overflow als Fehler gemeldet. Wieso?
Stimmt das Insert in dem Trigger bzw. kann ich die Werte die in rec stehen so in der Insert Funktion nutzen?
Vielen Dank!
Lesezeichen