hutziblitzi
Grünschnabel
Hi,
bin ratlos und hoffe das mir hier jemand helfen kann.
Folgenden Trigger hab ich erstellt:
DROP TRIGGER IF EXISTS shopartikel|
CREATE TRIGGER shopartikel
BEFORE UPDATE ON shopartikel
FOR EACH ROW
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE triggerStr char(200) DEFAULT "LEER";
DECLARE fieldName char(30);
DECLARE tpe char(30);
DECLARE nll char(30);
DECLARE ky char(30);
DECLARE deflt char(30);
DECLARE extra char(30);
DECLARE oldVal char(250);
DECLARE newVal char(30);
DECLARE cursor1 CURSOR FOR DESCRIBE shopartikel;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cursor1;
REPEAT
FETCH cursor1 INTO fieldName, tpe, nll, ky, deflt, extra;
SET oldVal := NEW.fieldName;
SET newVal := OLD.fieldName;
SET triggerStr = CONCAT(triggerStr,fieldName,oldValue,oldValue,"|");
UNTIL done END REPEAT;
CLOSE cursor1;
INSERT INTO log (status,user,details) VALUES ("U", @dbuser, triggerStr);
END;
Jetzt ist das GROSSE Problem das er NEW.fieldName nicht auflöst, sondern der Inhalt aus fieldName im Log steht.
Danke schon ma für die Antworten
bin ratlos und hoffe das mir hier jemand helfen kann.
Folgenden Trigger hab ich erstellt:
DROP TRIGGER IF EXISTS shopartikel|
CREATE TRIGGER shopartikel
BEFORE UPDATE ON shopartikel
FOR EACH ROW
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE triggerStr char(200) DEFAULT "LEER";
DECLARE fieldName char(30);
DECLARE tpe char(30);
DECLARE nll char(30);
DECLARE ky char(30);
DECLARE deflt char(30);
DECLARE extra char(30);
DECLARE oldVal char(250);
DECLARE newVal char(30);
DECLARE cursor1 CURSOR FOR DESCRIBE shopartikel;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cursor1;
REPEAT
FETCH cursor1 INTO fieldName, tpe, nll, ky, deflt, extra;
SET oldVal := NEW.fieldName;
SET newVal := OLD.fieldName;
SET triggerStr = CONCAT(triggerStr,fieldName,oldValue,oldValue,"|");
UNTIL done END REPEAT;
CLOSE cursor1;
INSERT INTO log (status,user,details) VALUES ("U", @dbuser, triggerStr);
END;
Jetzt ist das GROSSE Problem das er NEW.fieldName nicht auflöst, sondern der Inhalt aus fieldName im Log steht.
Danke schon ma für die Antworten