当前位置:Gxlcms > mysql > mysql使用游标将select结果插入其他表中

mysql使用游标将select结果插入其他表中

时间:2021-07-01 10:21:17 帮助过:27人阅读

mysql使用游标将select结果插入其他表中 无 BEGIN#定义 变量DECLARE a VARCHAR(32);DECLARE b VARCHAR(200);DECLARE c text ;DECLARE d VARCHAR(32);DECLARE e VARCHAR(100);DECLARE f int(11);DECLARE g VARCHAR(100);DECLARE h VARCHAR(100);#此变可有可无

mysql使用游标将select结果插入其他表中 <无>
  1. BEGIN
  2. #定义 变量
  3. DECLARE a VARCHAR(32);
  4. DECLARE b VARCHAR(200);
  5. DECLARE c text ;
  6. DECLARE d VARCHAR(32);
  7. DECLARE e VARCHAR(100);
  8. DECLARE f int(11);
  9. DECLARE g VARCHAR(100);
  10. DECLARE h VARCHAR(100);
  11. #此变可有可无,为了给个该存储函数执行成功后给个提示,运行下便知道
  12. DECLARE count_num int(11);
  13. DECLARE x int;
  14. #这个用于处理游标到达最后一行的情况
  15. DECLARE s int default 0;
  16. #声明游标cursor_name(cursor_name是个多行结果集)
  17. DECLARE cursor_name CURSOR FOR select NNF_ID,NNF_NAME,NNF_REALNAME,NNF_NOTICE_ID from t_notice_file;
  18. #设置一个终止标记
  19. DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s=1;
  20. set count_num = 0;
  21. #打开游标
  22. OPEN cursor_name;
  23. #获取游标当前指针的记录,读取一行数据并传给变量a,b
  24. fetch cursor_name into a,b,c,d;
  25. #开始循环,判断是否游标已经到达了最后作为循环条件
  26. while s <> 1 do
  27. set count_num = count_num+1;
  28. insert into t_ehdnotice_file(id,name,original_name,create_time,ehdnotice_id,path) values(a,b,c,now(),d,'2014-04\\15');
  29. #读取下一行的数据
  30. fetch cursor_name into a,b,c,d;
  31. end while;
  32. #关闭游标
  33. CLOSE cursor_name ;
  34. select count_num as"新增条数";
  35. #语句执行结束
  36. END

人气教程排行