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

- DELIMITER $$
 - USE `tns`$$
 - DROP PROCEDURE IF EXISTS `MakeFriends`$$
 - CREATE DEFINER=`root`@`localhost` PROCEDURE `MakeFriends`()
 - BEGIN
 - DECLARE v_adminId BIGINT(12);
 - DECLARE v_currentUserID BIGINT(12);
 - DECLARE v_ExistRela INT;
 - DECLARE Done INT DEFAULT 0;
 - DECLARE rs CURSOR FOR SELECT userId FROM hw_user;
 - /* 异常处理 */
 - DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
 - SET v_adminId = 1;
 - /* 打开游标 */
 - OPEN rs;
 - /* 逐个取出当前记录userId字段的值*/
 - FETCH NEXT FROM rs INTO v_currentUserID;
 - /* 遍历数据表 */
 - REPEAT
 - IF NOT Done THEN
 - SELECT COUNT(*) FROM hw_relationship WHERE sourceId = v_currentUserID AND targetId = v_adminId INTO v_ExistRela;
 - /*SELECT v_currentUserID;SELECT v_ExistRela;*/
 - IF v_currentUserID != v_adminId AND v_ExistRela = 0 THEN
 - /* insert relation records*/
 - INSERT INTO hw_relationship(createTime, relationType, sourceId, targetId) VALUES (NOW(), 1, v_currentUserID, v_adminId);
 - INSERT INTO hw_relationship(createTime, relationType, sourceId, targetId) VALUES (NOW(), 1, v_adminId, v_currentUserID);
 - END IF;
 - END IF;
 - FETCH NEXT FROM rs INTO v_currentUserID;
 - UNTIL Done END REPEAT;
 - /* 关闭游标 */
 - CLOSE rs;
 - END$$
 - DELIMITER ;
 
                分享标题:MySQL遍历数据表的方法
                
                转载来于:http://www.csdahua.cn/qtweb/news30/314030.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网