MySQL遍历数据表的方法

MySQL遍历数据表是我们经常会遇到的问题,下面就为您详细介绍MySQL遍历数据表的方法,希望对您学习MySQL遍历数据表能有所帮助。

 
 
 
  1. DELIMITER $$
  2. USE `tns`$$
  3. DROP PROCEDURE IF EXISTS `MakeFriends`$$
  4. CREATE DEFINER=`root`@`localhost` PROCEDURE `MakeFriends`()
  5. BEGIN
  6. DECLARE v_adminId        BIGINT(12);
  7. DECLARE v_currentUserID    BIGINT(12);
  8. DECLARE v_ExistRela        INT;
  9. DECLARE Done            INT DEFAULT 0;
  10. DECLARE rs            CURSOR FOR SELECT userId FROM hw_user;
  11. /* 异常处理 */
  12. DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
  13. SET v_adminId = 1;
  14. /* 打开游标 */
  15. OPEN rs;
  16. /* 逐个取出当前记录userId字段的值*/
  17. FETCH NEXT FROM rs INTO v_currentUserID;
  18. /* 遍历数据表 */
  19. REPEAT
  20. IF NOT Done THEN
  21. SELECT COUNT(*) FROM hw_relationship WHERE sourceId = v_currentUserID AND targetId = v_adminId INTO v_ExistRela;
  22. /*SELECT v_currentUserID;SELECT v_ExistRela;*/ 
  23. IF v_currentUserID != v_adminId AND v_ExistRela = 0 THEN
  24. /* insert relation records*/
  25. INSERT INTO hw_relationship(createTime, relationType, sourceId, targetId) VALUES (NOW(), 1, v_currentUserID, v_adminId);
  26. INSERT INTO hw_relationship(createTime, relationType, sourceId, targetId) VALUES (NOW(), 1, v_adminId, v_currentUserID);
  27. END IF;
  28. END IF;
  29. FETCH NEXT FROM rs INTO v_currentUserID;
  30. UNTIL Done END REPEAT;
  31. /* 关闭游标 */
  32. CLOSE rs;
  33. END$$
  34. DELIMITER ; 

本文名称:MySQL遍历数据表的方法
文章位置:http://www.shufengxianlan.com/qtweb/news30/314030.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联