关于mysql游标取值为空的问题
我的存储过程如下:
delimiter $$
use heidunlog$$
drop procedure if exists sp_test$$
create procedure sp_test()
begin
declare stop integer default 1;
declare name varchar(50);
declare sqlstr text;
declare cur_1 cursor for select name from user;
DECLARE CONTINUE HANDLER FOR not FOUND set stop=0;
open cur_1;
fetch cur_1 into name ;
while stop <>0 do
select name ;
fetch next from cur_1 into name ;
end while;
set name ='';
end$$
delimiter ;
存在的问题是取出来的tablename老是为空,可以明确的是游标有取到记录,因为stop不为0,循环次数与我的记录数一致
更奇怪的是,我如果把游标定义改成declare cur_1 cursor for select min(id) from user就可以取得到值。请问大家,为什么会有这种现象,我现在要取的是记录集中的name
一楼的兄弟,什么意思,能不能说得再明白点
好了,问题解决了,谢谢一楼兄弟的提醒,虽然不是这种方式,但给了灵感,一样给分,
具体修改方法是光标定义时把查询语句的表名起别名,然后再用如下
declare a.cur_1 cursor for select name from user a;
个人估计是版本不同导致网络上很多关于游标的使用方式不可以,
小弟用的是msyql5.1.38
while stop <>0 do
select name ;
fetch cur_1 into name ;
end while;
declare cur
相关问答:
一个行业网站,要实现的功能要求为:
一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。
数据类型为innodb,当前的方法是对关键词进行 ......
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
这个视频讲的很详细, 对新手非常有用, 基本上一看就懂
由于太大了(50m, 我只能上传20m), 我上传不了, 只好贴出下载地址
下载地址: http://ftel1.3800hk.com/0807/080720djxnzj.rar
好东西,下个看看
......