Erstellen eines Triggers verursacht fehler - Code von mysql.com.

Da habe ich schon ne Lösung parat, 100% pure SQL! ;-)

Eine UDF welche einen String zurückgibt in der Art:

<entry name="a">
<entry name="b" />
<entry name="c" />
</entry>


Die UDF ist rekursiv (selbt gecoded) und die Ebenen unbegrenzt, muss dann einfach mit der Geschwindigkeit schauen wenn viele Daten vorhanden sind.

Das XML muss dann noch auf ein anderes XML transformiert werden, um irgendeine (?) Organisationschart-Komponente damit zu "füttern".


Gruss, Jan
 
Werbung:
Werbung:
das problem war der delimiter, so scheint's zu gehen:

Code:
DELIMITER $$

use adressql;



DROP TRIGGER IF EXISTS t_adressen_insert;

CREATE TRIGGER t_adressen_insert
BEFORE INSERT
ON adressen
FOR EACH ROW
BEGIN
   IF (new.NodeOf IS NOT NULL) THEN
     IF (SELECT COUNT(*) FROM adressen WHERE new.adr_id=new.NodeOf)=0 THEN
       INSERT error_msg VALUES ('Foreign Key Constraint Violated!');
     END IF;
   END IF;
END$$


DROP TRIGGER IF EXISTS t_adressen_update;

CREATE TRIGGER t_adressen_update
BEFORE UPDATE
ON adressen
FOR EACH ROW
BEGIN
   IF (new.NodeOf IS NOT NULL) THEN
     IF (SELECT COUNT(*) FROM adressen WHERE adr_id=new.NodeOf)=0 THEN
       INSERT error_msg VALUES ('Foreign Key Constraint Violated!');
     END IF;
   END IF;
END$$

DELIMITER ;
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben