我正在使用一个过程遍历一个表并在每一行上执行不同的过程(此过程使用其他表并且工作正常,返回正确的结果集)。这是我的尝试:
DELIMITER $$
CREATE PROCEDURE user_loop()
BEGIN
DECLARE n INT DEFAULT 0;
DECLARE i INT DEFAULT 0;
SELECT COUNT(*) FROM users INTO n;
SET i=0;
WHILE i<n DO
SET @cur_id = (SELECT user_id from users LIMIT i,1);
INSERT INTO results CALL other_proc(@cur_id);
SET i = i + 1;
END WHILE;
End;
$$
为了做到这一点,不确定正确的语法是什么,我看了但找不到任何例子。