一个mysql的存储过程 第一次接触请大家指点一下
2008-09-25 20:29
537 查看
今天调试mysql 存储过程
最终完整代码
Code
DELIMITER $$
DROP PROCEDURE IF EXISTS `jiuye`.`bot_qqsay`$$
CREATE DEFINER=`xs`@`%` PROCEDURE `bot_qqsay`(qqnum int(15),msg varchar(1000),tp TINYINT(1))
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE pid,usid int(11) DEFAULT 0;
DECLARE times INT(11) DEFAULT 0;
DECLARE cur_1 CURSOR FOR SELECT `roomid`,`uid` FROM `room` WHERE `qq`=qqnum;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
set times = UNIX_TIMESTAMP();
OPEN cur_1;
REPEAT
FETCH cur_1 INTO pid,usid;
IF NOT done THEN
INSERT INTO `miniblog` (`proid`,`uid`,`msg`,`dateline`,`type`) VALUES(pid,usid,msg,times,tp);
END IF;
UNTIL done END REPEAT;
CLOSE cur_1;
END$$
DELIMITER ;
下班了后面慢慢说调试中遇到的错误
最终完整代码
Code
DELIMITER $$
DROP PROCEDURE IF EXISTS `jiuye`.`bot_qqsay`$$
CREATE DEFINER=`xs`@`%` PROCEDURE `bot_qqsay`(qqnum int(15),msg varchar(1000),tp TINYINT(1))
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE pid,usid int(11) DEFAULT 0;
DECLARE times INT(11) DEFAULT 0;
DECLARE cur_1 CURSOR FOR SELECT `roomid`,`uid` FROM `room` WHERE `qq`=qqnum;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
set times = UNIX_TIMESTAMP();
OPEN cur_1;
REPEAT
FETCH cur_1 INTO pid,usid;
IF NOT done THEN
INSERT INTO `miniblog` (`proid`,`uid`,`msg`,`dateline`,`type`) VALUES(pid,usid,msg,times,tp);
END IF;
UNTIL done END REPEAT;
CLOSE cur_1;
END$$
DELIMITER ;
下班了后面慢慢说调试中遇到的错误
相关文章推荐
- mysql怎么让一个存储过程定时执行
- 写MYSQL存储过程遇到的一个小BUG
- 一个存储过程和shell操作mysql
- 自己用的一个mysql存储过程
- Mysql 存储过程的一个例子
- 写了一个MYSQL的行转列的存储过程 zz
- 一个MySQL清除数据库所有表数据保留表结构的存储过程
- mysql如何让一个存储过程定时执行
- mysql如何在一个存储过程中使用另外一个存储过程的结果集
- mysql怎么让一个存储过程定时执行
- mysql怎么让一个存储过程定时执行
- 一个 mysql 行 转 列 的存储过程
- mysql存储过程问题,请大家帮帮我
- 自己写了一个图书管理案例,请大家指点一下!
- MYSQL存储过程详解。。。写的很详细转载一下
- mysql 存储过程案列一个。
- mysql 让一个存储过程定时作业的代码(转)
- 在mysql存储过程中使用光标一个例子
- MySQL processlist – 一个辅助的存储过程
- mysql存储过程出参入参,sqlserver很熟悉的一件事到mysql,捣鼓了大半天。记录一下提醒自己。勿看