我们知道当创建一个游标时,相应有一个错误处理机制。但是两个游标时,好像不太好处理。比如
declare curl_store_id CURSOR FOR select `id` from `dev_store` where `merchant_id` = old.id;
declare CONTINUE HANDLER FOR NOT FOUND SET store_stop_flag = 1;
declare curl_user_id CURSOR FOR select `user_id` from `dev_user_particular` where `merchant_id` = old.id;
declare CONTINUE HANDLER FOR NOT FOUND SET user_stop_flag = 1;这样定义是错误的。那么如何创建呐??大虾们能否帮帮忙呀?
declare curl_store_id CURSOR FOR select `id` from `dev_store` where `merchant_id` = old.id;
declare CONTINUE HANDLER FOR NOT FOUND SET store_stop_flag = 1;
declare curl_user_id CURSOR FOR select `user_id` from `dev_user_particular` where `merchant_id` = old.id;
declare CONTINUE HANDLER FOR NOT FOUND SET user_stop_flag = 1;这样定义是错误的。那么如何创建呐??大虾们能否帮帮忙呀?
解决方案 »
- lock table 表名 in exclusive mode
- 导入Mysql文件的时候出了问题
- 郁闷了,mysql1.5乱码问题
- 急!高手请进!MySQL如何搜索varchar中带 . 或者 - 的记录?并且将他们替换掉
- 菜鸟遇到mysql简单问题的,求救
- JSP通过JDBC访问数据库出现乱码???
- ▄◣如何实现sqlserver和mysql两个数据库之间的数据同步,最好请大斑竹来回答,急,200分在线等...?◤up也有分!◥
- EMSMySqlManager有linux版本的吗?
- 求一把oracle数据库数据迁移到mysql的工具?
- <请教> B/S软件的数据库安全及密码问题
- 把某一个表里相同时间,相同用户名的记录合并取出
- MYSQL存储过程游标的使用问题
declare curl_user_id CURSOR FOR select `user_id` from `dev_user_particular` where `merchant_id` = old.id; declare CONTINUE HANDLER FOR NOT FOUND SET user_stop_flag = 1;只能有一个 HANDLER ,然后利用中间变量处理。
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 SQLSTATE '02000' SET done = 1;
OPEN cur1;
OPEN cur2;
REPEAT
FETCH cur1 INTO a, b;
FETCH cur2 INTO c;
IF NOT done THEN
IF b < c THEN
INSERT INTO test.t3 VALUES (a,b);
ELSE
INSERT INTO test.t3 VALUES (a,c);
END IF;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
CLOSE cur2;
END
'截至2010-10-20 11:21:36 用户结帖率6.67%当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖