【发布时间】:2019-04-23 15:19:22
【问题描述】:
我想从表“redis-state”中获取表中带有光标的数据并编写了这个程序,但是我得到了一个错误
声明未找到 1064 错误代码
在第 10 行。
目的是打印表格的所有行。表格中的每个条目打印一次。
[![在此处输入图片描述][2]][2]
CREATE PROCEDURE redisatestatedata()
BEGIN
DECLARE macaddress varchar(50);
DECLARE redisstate varchar(50);
DECLARE atehistorystate varchar(50);
DECLARE data_list varchar(50000);
DECLARE done INT DEFAULT FALSE;
DECLARE data_cursor CURSOR FOR
SELECT macaddress,redisstate,atehistorystate
FROM redis-atestate;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET done = TRUE;
open data_cursor;
GET_DATA:loop FETCH data_cursor INTO
macaddress,redisstate,atehistorystate;
IF v_finished = 1 THEN
leave get_data;
ENDIF;
SET data_list = concat("Difference in state ATE:",macaddress,": redis ",redisstate,": dbstate ",atehistorystate);
SELECT data_list;
loop get_data;
CLOSE data_cursor;
END;
【问题讨论】:
-
对不起,我尝试添加有问题的代码但没有成功,所以粘贴图像
-
您可以通过复制粘贴的方式添加您的代码,然后选择它并按
ctrl+k(或编辑框上方的{ }符号)。还请添加准确(和完整)的错误消息,包括引用您的代码的部分,因为它将直接显示错误的位置。这(错误消息和代码作为文本)使我们能够更快地识别语法问题,例如未引用的表名。
标签: mysql sql stored-procedures