Чтобы динамически использовать курсоры с помощью MySQL, можно ли объявить курсор в цикле хранимой процедуры? Я попробовал и получил ошибку:Использование курсора в цикле хранимой процедуры
increment: LOOP
DECLARE cur1 CURSOR FOR SELECT person_id, publication_id FROM p_publication WHERE person_id = new_count;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO pub_id, per_id;
IF NOT done THEN
INSERT INTO test.t2 VALUES (pub_id, per_id);
END IF;
SET new_count = new_count + 1;
UNTIL done END REPEAT;
CLOSE cur1;
IF !(new_count < old_count) THEN LEAVE increment;
END IF;
END LOOP increment;
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 'DECLARE cur1 CURSOR FOR SELECT person_id, publication_id FROM person_has_public' at line 12
Заранее спасибо
+1: Для решения синтаксиса курсора. –
Спасибо, что работает – Novemberland