Olá pessoal, este código MYSQL tem a seguinte função, pegar uma tabela chamada employee que possui os seguintes campos: [supervisor_id int, employee_id int, full_name varchar] e apartir desta tabela, gerar uma outra tabela employee_closure que possui os seguintes campos: [supervisor_id int, employee_id int, distance int] mostrando o relacionamento entre supervisores e empregados. É mais ou menos assim: Tabela Employee A tabela employee ela tem que estar populada com alguns valores, no exemplo acima coloquei alguns Tabela que deve ser gerada com o código que estou tendo problema, esta tabela tem que estar em branco, mas o código quando for execultado vai popular a tabela da seguinte maneira: Employee_closure ---------------------------------------------- | supervisor_id | employ_id | distance | ---------------------------------------------- | 1 | 1 | 0 | | 1 | 2 | 1 | | 1 | 3 | 2 | | 1 | 4 | 1 | | 1 | 5 | 3 | | 1 | 6 | 2 | | 2 | 2 | 0 | | 2 | 3 | 1 | | 2 | 5 | 2 | | 2 | 6 | 1 | | 3 | 3 | 0 | | 3 | 5 | 1 | | 4 | 4 | 0 | | 5 | 5 | 0 | | 6 | 6 | 0 | ---------------------------------------------- CREATE PROCEDURE close_employee()
BEGIN
DECLARE distance int;
TRUNCATE TABLE employee_closure;
SET distance = 0;
INSERT INTO employee_closure (supervisor_id, employee_id, distance)
SELECT employee_id, employee_id, distance
FROM employee;
REPEAT
SET distance = distance + 1;
INSERT INTO employee_closure (supervisor_id, employee_id, distance)
SELECT employee_closure.supervisor_id, employee.employee_id, employee_closure.distance
FROM employee_closure, employee
WHERE employee_closure.employee_id = employee.supervisor_id
AND employee_closure.distance = distance - 1;
UNTIL (ROW_COUNT() == 0)
END REPEAT
END O erro que esta relatando é o seguinte: >[Error] Script lines: 1-21 ------------------------- You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNTIL (ROW_COUNT() == 0) END REPEAT END' at line 19 Warnings: ---> W (1): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNTIL (ROW_COUNT() == 0) END REPEAT END' at line 19 <--- [Executed: 24/10/08 14h16min35s BRT ] [Execution: 0/ms] Agradeço desde já!