MySQL游标的使用
2013-11-27 17:57
337 查看
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 存储过程 -- 游标的使用
- MySql 使用存储过程和游标读取并更新数据
- MySQL存储过程中使用游标和临时表
- MySql 存储过程使用游标循环插入数据示例
- 关于MySQL游标的嵌套使用
- MySql中游标及存储过程的定义与使用方式
- mysql中游标的使用案例详解
- Mysql的游标使用
- 关于Mysql使用存储过程,并且使用游标的Demo
- mysql-游标及存储过程游标的使用--源自技术
- mysql 储存过程游标的使用
- 数据库游标使用mysql(全表操作)
- MySql 自定义函数,存储过程,游标的使用
- mysql游标循环的使用
- MySql中游标的定义与使用方式
- mysql存储过程 --游标的使用 取每行记录 (多字段)
- MySQL游标的使用笔记大全
- mysql存储过程 游标使用