Γεια σε όλους,
αντιμετωπίζω ένα πρόβλημα κατά τη δημιουργία Stored Procedure:
DELIMITER $$
DROP PROCEDURE IF EXISTS `orders`.`DeleteNode` $$
CREATE PROCEDURE `orders`.`DeleteNode` (IN downsized VARCHAR(50))
LANGUAGE SQL
DETERMINISTIC
BEGIN
DECLARE drop_name VARCHAR(50);
DECLARE drop_lft INTEGER;
DECLARE drop_rgt INTEGER;
SET drop_name = (SELECT name FROM orders WHERE name = downsized);
SET drop_lft = (SELECT lft FROM orders WHERE name = downsized);
SET drop_rgt = (SELECT rgt FROM orders WHERE name = downsized);
DELETE FROM orders
WHERE orders.lft = drop_lft;
UPDATE orders
SET lft = (SELECT COUNT(*)
FROM (SELECT lft FROM orders
UNION ALL
SELECT rgt FROM orders) AS LftRgt (seq)
WHERE seq <= lft),
rgt = (SELECT COUNT(*)
FROM (SELECT lft FROM orders
UNION ALL
SELECT rgt FROM orders) AS LftRgt (seq)
WHERE seq <= rgt);
END $$
DELIMITER ;
Το σφάλμα που υπάρχει και δεν την εκτελεί είναι κάπου στo AS LftRgt (seq) και μου βγάζει το μήνυμα:
You have an error in your SQL syntax;
near '(seq)
WHERE seq <= lft),
rgt = (SELECT COUNT(*)
FROM'
Αν μπορει να βοηθήσει κάποιος, θα το εκτιμούσα πολύ.
Ευχαριστώ