簡體   English   中英

MySQL 5.7光標不返回任何值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM