怎样在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创建存储过程。 展开
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创建存储过程。 展开
2个回答
展开全部
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
-> 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,不知道里面原来不能用@的呀.对不住.
展开全部
declare @i int;
set @i=1;
while i<5
begin
insert into t1(ff) values("第"+ @i +"条");
set @i=@i+1;
end
set @i=1;
while i<5
begin
insert into t1(ff) values("第"+ @i +"条");
set @i=@i+1;
end
追问
不行吖,提示“declare @i int;” 这句错误,不加“@”就不会提示这句错误。为什么要加“@”?
追答
你把申明变量的去掉应该就可以了,MYSQL不需要申明变量,
SQL SERVER才需要的,没注意。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |