在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL游标多循环一次的问题怎么解决

126次阅读
没有评论

共计 2897 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要讲解了“MySQL 游标多循环一次的问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“MySQL 游标多循环一次的问题怎么解决”吧!

在 MySQL 中使用游标的时候,发现游标多循环一次
想在表中插入一条语句,但是实际上却插入了两条
语句如下:
mysql create table test(id int(5));
Query OK, 0 rows affected (0.13 sec)

mysql delimiter $$
mysql create procedure proc_drop_table()
  – BEGIN
  – /* Declare Variables */
  – DECLARE done_1 INT DEFAULT FALSE;
  – DECLARE v_history_table_name varchar(64);
  – declare the_query VARCHAR(500);
  –
  – /* Declare Conditions */
  – DECLARE not_found CONDITION FOR 1741;
  –
  – /* Declare Cursors */
  – DECLARE cur1 CURSOR FOR select CONCAT(TABLE_SCHEMA, . ,TABLE_NAME) from  information_schema.tables where TABLE_SCHEMA= test and TABLE_NAME like %test%
  –
  – /* Declare Exception Handlers, usually with set actions */
  – /* usually with set actions, the following handler has two forms,
  /*   one with begin .. end statements, and the other without */
  – DECLARE CONTINUE HANDLER FOR NOT FOUND SET done_1 = TRUE;
  –
  –   OPEN cur1;
  –   read_loop_1: LOOP
  –   FETCH cur1 INTO v_history_table_name;
  – /*IF done_1 IS FALSE THEN*/
  – set @v_history_table_name=v_history_table_name;
  –   select concat(insert into , @v_history_table_name, values (10) ) into the_query;
  – SET @stmt=the_query;
  – PREPARE STMT FROM @stmt;
  – EXECUTE STMT;
  – DEALLOCATE PREPARE STMT;
  – /*END IF;*/
  –   IF done_1 THEN
  –   LEAVE read_loop_1;
  – END IF;
  – END LOOP read_loop_1;
  – CLOSE cur1;
  –   end$$
Query OK, 0 rows affected (0.01 sec)

mysql delimiter ;
mysql select * from test;
Empty set (0.00 sec)

mysql call proc_drop_table();
Query OK, 0 rows affected (0.01 sec)

mysql select * from test;
+——+
| id  |
+——+
|  10 |
|  10 |
+——+
2 rows in set (0.00 sec)

解决方法:
在实际执行的语句两边增加 IF 判断

mysql truncate table test;
Query OK, 0 rows affected (0.07 sec)

mysql drop procedure proc_drop_table;
Query OK, 0 rows affected (0.09 sec)

mysql delimiter $$
mysql create procedure proc_drop_table()
  – BEGIN
  – /* Declare Variables */
  – DECLARE done_1 INT DEFAULT FALSE;
  – DECLARE v_history_table_name varchar(64);
  – declare the_query VARCHAR(500);
  –
  – /* Declare Conditions */
  – DECLARE not_found CONDITION FOR 1741;
  –
  – /* Declare Cursors */
  – DECLARE cur1 CURSOR FOR select CONCAT(TABLE_SCHEMA, . ,TABLE_NAME) from  information_schema.tables where TABLE_SCHEMA= test and TABLE_NAME like %test%
  –
  – /* Declare Exception Handlers, usually with set actions */
  – /* usually with set actions, the following handler has two forms,
  /*   one with begin .. end statements, and the other without */
  – DECLARE CONTINUE HANDLER FOR NOT FOUND SET done_1 = TRUE;
  –
  –   OPEN cur1;
  –   read_loop_1: LOOP
  –   FETCH cur1 INTO v_history_table_name;
  – IF done_1 IS FALSE THEN
  – set @v_history_table_name=v_history_table_name;
  –   select concat(insert into , @v_history_table_name, values (10) ) into the_query;
  – SET @stmt=the_query;
  – PREPARE STMT FROM @stmt;
  – EXECUTE STMT;
  – DEALLOCATE PREPARE STMT;
  – END IF;
  –   IF done_1 THEN
  –   LEAVE read_loop_1;
  – END IF;
  – END LOOP read_loop_1;
  – CLOSE cur1;
  –   end$$
Query OK, 0 rows affected (0.00 sec)

mysql delimiter ;
mysql call proc_drop_table();
Query OK, 0 rows affected (0.01 sec)

mysql select * from test;
+——+
| id  |
+——+
|  10 |
+——+
1 row in set (0.00 sec)

感谢各位的阅读,以上就是“MySQL 游标多循环一次的问题怎么解决”的内容了,经过本文的学习后,相信大家对 MySQL 游标多循环一次的问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计2897字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 被伴郎的内捧猛烈进出h视频 | www视频网站 | 日韩欧美亚洲乱码中文字幕 | 欧美性受xxxx狂喷水 | 日本人亚洲人jizz | 国产精品久久久久久久久久妞妞 | 国产成人精品一区二三区 | 精品久久成人免费第三区 | 高清一级做a爱过程免费视频 | 国产精品高清全国免费观看 | 高清亚洲综合色成在线播放放 | 国产后入清纯学生妹 | 国产精品亚洲二线在线播放 | aaaa级片| 久久久亚洲精品蜜桃臀 | 免费看美女下面啪啪流水 | 国产91精品久久久久久久 | 成人一级免费视频 | 久久久中文字幕 | 日韩色小说 | 亚洲经典激情春色另类 | 精品一区二区三区四区 | 国产办公室沙发系列高清 | 曰韩内射六十七十老熟女影视 | 任我撸在线视频 | 免费精品美女久久久久久久久久 | 日韩精品欧美激情亚洲综合 | 韩国mmwutv福利视频 | 香蕉视频地址 | 亚洲免费资源 | 小明看片 | 欧美v国产v亚洲v日韩九九 | 99久久精品国产片久人 | 亚洲av无码国产精品麻豆天美 | 开心久久婷婷综合中文字幕 | 久久精品人妻无码一区二区三区 | 国产黄网在线 | 少妇被又大又粗又爽毛片 | 爱爱小视频在线看免费 | 欧美极度丰满熟妇hd | 中字乱码视频 |