Peter Thomassen: Stored Procedures: Juchu!

Beitrag lesen

Tag,

in http://forum.de.selfhtml.org/archiv/2006/2/t123007/ hatte ich eine Frage zur Ermittlung der Wurzel eines in einer Datenbank abgebildeten Baumes via Stored Procedures gestellt. Ich hab's nun, nach wie vor unter Verwendung von MySQL, hinbekommen:

  
DELIMITER //  
CREATE FUNCTION contractMain (temp INT)  
 RETURNS INT  
 READS SQL DATA  
 BEGIN  
  DECLARE _parent_id INT;  
  
  REPEAT  
   SET _parent_id = temp;  
   SELECT parent_id INTO temp FROM contract WHERE id = _parent_id;  
   UNTIL temp IS NULL  
  END REPEAT;  
  RETURN _parent_id;  
 END;//  

Es könnte praktisch werden, auch eine Funktion zu haben, um den Vater zu ermitteln, damit der Code dafür jeweils nicht so lang ist. Wäre es dann der Konsistenz halber sinnvoll, diese Funktion auch in der oben stehenden einzusetzen, oder sollte man das der Performance halber lassen?

Danke!
Peter