帮忙看下这个存储过程哪错了,谢谢了。该存储过程是对表versiontest的操作
delimiter //
create procedure proc(in exeversion int,in resversion int,in updateversion int)
begin
declare @x int;
declare @y int;
declare @z int;
insert into versiontest values(exeversion ,resversion,updateversion);
set @x=1;
while @x<exeversion do
select max(resversion) into @y from versiontest where exeversion=@x;
set @z=@y+1;
insert into versiontest values(@x,@y,@z);
update versiontest set updateversion=z where exeversion=@x;
set @x=@x+1;
end while;
end;错误是:you have an error in your sql systax;check the manual that corresponds to your Mysql server version for the right syntax to use near '@x int;declaer @y int;declare @z int; insert into versiontest valuetest values(exeversio' at line 3

解决方案 »

  1.   

    delimiter //
    create procedure proc(in exeversion int,in resversion int,in updateversion int)
    begininsert into versiontest values(exeversion ,resversion,updateversion);
    set @x=1;
    while @x<exeversion do
    select max(resversion) into @y from versiontest where exeversion=@x;
    set @z=@y+1;
    insert into versiontest values(@x,@y,@z);
    update versiontest set updateversion=z where exeversion=@x;
    set @x=@x+1;
    end while;
    end;