mysql 存储过程返回的问题
表名为 url_list 结构如下
--+sp_name+-----+url+-------+rank+----
--| 0 |---|www.xxx.com | 1 |
--| 0 |---|www.yyy.com | 1 |
--| 0 |---|www.zzz.com | 1 |
--| 1 |---|www.aaa.com | 1 |
--| 0 |---|www.hhh.com | 1 | 想通过存储过程实现 查询 url_list表中sp_name=0的字段并返回 其rank字段的的值与url字段的值 同时再把其sp_name更新为1
表名为 url_list 结构如下
--+sp_name+-----+url+-------+rank+----
--| 0 |---|www.xxx.com | 1 |
--| 0 |---|www.yyy.com | 1 |
--| 0 |---|www.zzz.com | 1 |
--| 1 |---|www.aaa.com | 1 |
--| 0 |---|www.hhh.com | 1 | 想通过存储过程实现 查询 url_list表中sp_name=0的字段并返回 其rank字段的的值与url字段的值 同时再把其sp_name更新为1
BEGIN
SELECT rank,url FROM url_list where sp_name=0;
update url_list set sp_name=1 where sp_name=0;
END//
BEGIN
SELECT rank,url FROM url_list where sp_name=0 limit 1;
update url_list set sp_name=1 where sp_name=0 limit 1;
END//
cmd.CommandType = CommandType.StoredProcedure;
da = new MySQLDataAdapter();
da.SelectCommand = cmd;
调用存储过程simplepro为什么不对呢
BEGIN
SELECT rank,url FROM url_list where sp_name=0 limit 1;
update url_list set sp_name=1 where sp_name=0 limit 1;
END//DELIMITER ;CALL simpleproc();
能不能从中读取出一个URL 再把这个URL带到下面来进行条件查找更新啊
update url_list set sp_name=1 where URL=url
你可以在存储过程中声明局部变量,然后用游标把读的url赋给临时变量,在下一个语句里面可以用到这个变量。
count是局部变量,应该你需要的示例都有了定义的示例01 DELIMITER ##
02 CREATE PROCEDURE procIsSleepUser(IN _uId INT,OUT RET VARCHAR(20))
03 BEGIN
04 DECLARE count INT;
05 SELECT COUNT(topicId) INTO count FROM tbl_topic WHERE uId=_uId;
06 IF count>0 THEN
07 SET RET='活跃用户';
08 ELSE
09 SET RET='休眠用户';
10 END IF;
11 END ##
12 DELIMITER ;调用的示例
CALL procIsSleepUser(5,@RET);
SELECT @RET;