mysql done_MySQL 获取游标结果报错:1193-Unknown system variable ‘done’
MySQL執行以下存儲過程
DROP PROCEDURE IF EXISTS pro_empIndepart;
CREATE PROCEDURE pro_empIndepart (IN empid INT)
READS SQL DATA
BEGIN
DECLARE c_id INT;
DECLARE c_empname VARCHAR(50);
DECLARE c_job VARCHAR(50);
DECLARE c_salary INT;
DECLARE cur CURSOR for select e.id,e.yuangongname,e.word,e.wage from emp e where e.id = empid;
declare continue handler for not found set done = 1;
OPEN cur;
FETCH cur INTO c_id,c_empname,c_job,c_salary;
SELECT c_id,c_empname,c_job,c_salary;
CLOSE cur;
END;
報錯:
image.png
錯誤原因:存儲過程中使用的變量done未聲明。
解決方案:
先對done變量進行聲明,后使用
修改上述存儲過程如下:
DROP PROCEDURE IF EXISTS pro_empIndepart;
CREATE PROCEDURE pro_empIndepart (IN empid INT)
READS SQL DATA
BEGIN
DECLARE c_id INT;
DECLARE c_empname VARCHAR(50);
DECLARE c_job VARCHAR(50);
DECLARE c_salary INT;
DECLARE done INT DEFAULT 0;
DECLARE cur CURSOR for select e.id,e.yuangongname,e.word,e.wage from emp e where e.id = empid;
declare continue handler for not found set done = 1;
OPEN cur;
FETCH cur INTO c_id,c_empname,c_job,c_salary;
SELECT c_id,c_empname,c_job,c_salary;
CLOSE cur;
END;
調用存儲過程:
CALL pro_empIndepart(5)
返回結果:
image.png
總結
以上是生活随笔為你收集整理的mysql done_MySQL 获取游标结果报错:1193-Unknown system variable ‘done’的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql错误号码1040_Mysql
- 下一篇: react 判断图片是否加载完成_如何判