MySql Cursor – 创建一个过程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySql Cursor – 创建一个过程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1843字,纯文字阅读大概需要3分钟。
内容图文
![MySql Cursor – 创建一个过程](/upload/InfoBanner/zyjiaocheng/907/0337d8af959e465c8da478eb74af1123.jpg)
我正在尝试第一次创建游标.我看过文档,我理解这个概念,但我似乎无法得到它甚至被宣布…
我正在使用:
> MySql 5.1.41
> SqlYog作为经理
>(在xampp安装上本地运行)
即使复制粘贴在http://dev.mysql.com/doc/refman/5.1/en/cursors.html中找到的例子
CREATE PROCEDURE curdemo()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a CHAR(16);
DECLARE b,c INT;
DECLARE cur1 CURSOR FOR SELECT id,data FROM test.t1;
DECLARE cur2 CURSOR FOR SELECT i FROM test.t2;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
OPEN cur2;
read_loop: LOOP
FETCH cur1 INTO a, b;
FETCH cur2 INTO c;
IF done THEN
LEAVE read_loop;
END IF;
IF b < c THEN
INSERT INTO test.t3 VALUES (a,b);
ELSE
INSERT INTO test.t3 VALUES (a,c);
END IF;
END LOOP;
CLOSE cur1;
CLOSE cur2;
END;
我马上得到错误:
错误代码:1064
You have an error in your SQL syntax;
check the manual that corresponds to
your MySQL server version for the
right syntax to use near ” at line 3
以及其他一些人,
这对我没有任何意义,任何善良的灵魂都可以帮助我吗?
谢谢
所以我让样本查询工作(感谢ajreal),重置DELIMITER.但是当我运行我的查询时:
DELIMITER##
CREATE PROCEDURE RetiraPoints()
BEGIN
DECLARE userid BIGINT;
DECLARE done INT DEFAULT 0;
DECLARE cur CURSOR FOR SELECT uid FROM viewpoints;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur;
read_loop: LOOP
FETCH cur INTO userid;
IF done THEN
LEAVE read_loop;
END IF;
INSERT INTO points (iduser, points, pointcat) VALUES (uid, -1, 1), (userid, -1, 2), (userid, -1, 3), (userid, -1, 4), (userid, -1, 5), (userid, -1, 6);
END LOOP;
CLOSE cur;
END;##
我得到:
错误代码:1064
You have an error in your SQL syntax;
check the manual that corresponds to
your MySQL server version for the
right syntax to use near ‘DECLARE done
INT DEFAULT 0; DECLARE cur CURSOR FOR
SELECT uid FROM viewpoints; ‘ at line
1
我的天啊,这很难……
解决方法:
你忘记将分隔符重置为NOT;
delimiter ##
...
end##
需要在分隔符后放置一个空格
结束END不需要;
内容总结
以上是互联网集市为您收集整理的MySql Cursor – 创建一个过程全部内容,希望文章能够帮你解决MySql Cursor – 创建一个过程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。