Je travaille à la fonction du livre Joe Celkos - arbres et Hiérarchies dans SQL pour Smartiessyntaxe postgresql en boucle existe
J'essaie de supprimer un sous-arbre à partir d'une liste de contiguïté mais une partie ma fonction n'est pas fonctionne encore.
WHILE EXISTS –– mark leaf nodes
(SELECT *
FROM OrgChart
WHERE boss_emp_nbr = −99999
AND emp_nbr > −99999)
LOOP –– get list of next level subordinates
DELETE FROM WorkingTable;
INSERT INTO WorkingTable
SELECT emp_nbr FROM OrgChart WHERE boss_emp_nbr = −99999;
–– mark next level of subordinates
UPDATE OrgChart
SET emp_nbr = −99999
WHERE boss_emp_nbr IN (SELECT emp_nbr FROM WorkingTable);
END LOOP;
ma question: est le PENDANT QUE EXISTE correct pour une utilisation avec/postgresql? Je semble trébucher et se faire prendre dans une boucle infinie dans cette partie. Peut-être y a-t-il une syntaxe plus correcte que je ne connais pas.