0
是否可以將遊標變量讀入局部變量?這樣我就可以將它們用於準備好的聲明中。將光標變量讀入局部變量
OPEN curseur2;
LOOP2: LOOP
SET no_more_rows = FALSE;
FETCH curseur2 INTO @a, @b, @c;
IF no_more_rows THEN
CLOSE curseur2;
LEAVE LOOP2;
END IF;
EXECUTE stmtCountBrut USING @a,@b,@c;
這只是給我一個SQL語法錯誤。
編輯1
這裏是一個過程爲例,不只是如果我刪除從 「@」 工作 「Fetch curseur1 INTO @my_name;」 :
DROP PROCEDURE IF EXISTS `01_input_brut`.test_cursor;
CREATE DEFINER=`root`@`%` PROCEDURE `test_cursor`()
BLOCK1: BEGIN
DECLARE no_more_rows1 INT;
DECLARE my_name VARCHAR(255);
DECLARE civility VARCHAR(255);
DECLARE curseur1 CURSOR FOR
SELECT `name`
FROM source;
DECLARE CONTINUE handler FOR NOT FOUND SET no_more_rows1 = TRUE;
OPEN curseur1;
LOOP1: LOOP
set no_more_rows1 = false;
FETCH curseur1 INTO @my_name;
IF no_more_rows1 THEN
CLOSE curseur1;
LEAVE LOOP1;
END IF;
INSERT INTO log (id, message, date) VALUES (NULL, @my_name, NOW());
END LOOP LOOP1;
END BLOCK1;
錯誤:
[2016年11月17日十六時19分34秒] [42000] [1064]你在你的SQL語法 有一個錯誤;查看與您的MySQL服務器版本 相對應的手冊,查看在@my_name附近使用的正確語法; IF no_more_rows1 THEN CLOSE curseur1; 「在第17行
@fancyPants你是什麼意思? – Kvn91
你的代碼是否在程序中? –
@ P.Salmon是的,請參閱我的編輯作爲示例程序 – Kvn91