怎样在mysql 存储过程的sql语句里插入变量?

例如mysql>createprocedurepro10()->begin->declareiint;->seti=1;->whilei<5do->insertintot... 例如
mysql> create procedure pro10()
-> begin
-> declare i int;
-> set i=1;
-> while i<5 do
-> insert into t1(ff) values("第"& i &"条");
-> set i=i+1;
-> end while;
-> end;//
我上面写的运行出错,求指教,目的就是循环运行这几条语句
insert into t1(ff) values("第1条");
insert into t1(ff) values("第2条");
insert into t1(ff) values("第3条");
insert into t1(ff) values("第4条");
我是用Navicat创建存储过程。
展开
 我来答
网上冲浪玩家
2011-04-09 · TA获得超过574个赞
知道小有建树答主
回答量:535
采纳率:100%
帮助的人:343万
展开全部
mysql> create procedure pro10()
-> begin
declare @i int;
-> set @i=1;
-> while @i<5 begin
-> insert into t1(ff) values('第'+ @i +'条');
-> set @i=@i+1;
end
end
追问
不行吖,提示“declare @i int;” 这句错误,不加“@”就不会提示这句错误。为什么要加“@”?
追答
这个是我在sql2005中写的,我的电脑没安装mysql,不知道里面原来不能用@的呀.对不住.
miniappmPFH9MCjybmU7
2011-04-09 · TA获得超过452个赞
知道小有建树答主
回答量:684
采纳率:100%
帮助的人:382万
展开全部
declare @i int;
set @i=1;
while i<5
begin
insert into t1(ff) values("第"+ @i +"条");
set @i=@i+1;
end
追问
不行吖,提示“declare @i int;” 这句错误,不加“@”就不会提示这句错误。为什么要加“@”?
追答
你把申明变量的去掉应该就可以了,MYSQL不需要申明变量,
SQL SERVER才需要的,没注意。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式