[英]mysql 5.7 cursor not returning any values
MySQL(5.7版)游標不起作用。 我嘗試了很多次,並在網上檢查找不到任何問題。
它可以正確遍歷貨幣表中的許多記錄。 但是,當我嘗試從游標中讀取數據時,它僅返回null,而不返回表貨幣的實際值。 貨幣表包含數據。
DROP PROCEDURE IF EXISTS proc2;
CREATE PROCEDURE proc2()
BEGIN
DECLARE finished INTEGER DEFAULT 0;
DECLARE code VARCHAR(255);
DECLARE myCursor CURSOR FOR SELECT code FROM currency;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
OPEN myCursor;
delete from dummy;
read_loop: LOOP
FETCH myCursor INTO code;
IF finished = 1 THEN
LEAVE read_loop;
END IF;
insert into dummy(name) values(code);
END LOOP read_loop;
CLOSE myCursor;
End;
最后,它可以對腳本進行以下更改。 (即添加表別名之后。)
由於某種原因,我嘗試過“代碼”的列需要一個別名。 不確定,也許是保留關鍵字。
DECLARE myCursor CURSOR FOR SELECT c.code FROM currency c;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.