@yhm varchar(20) output,
@id int output,
@lb int output,
@cp varchar(20) output,
@pp varchar(20) output,
@imgsize int output,
@ms varchar(50) output,
@ImgUrl varchar(50) output,
@sj datetime output,
@fartherId int declare
asdelete FROM users_zt where rq<>@rq;select @yhm=yhm, @id=id from users where yhm=@login_name;insert into users_zt(yhm,syjh,cp,rq,sj) values(@yhm,0,1,@rq,@rq) ;set @@rowcount=0
insert into cp(pd,lb,cp,pp,ms,imgsize,imgurl,rq,sj,userid) values(0,@lb,@cp,@pp,@ms,@imgsize,@ImgUrl,@rq,@sj, @id);if @@rowcount>0
begin
select @fartherId=fatherid from catlog where id=@lb; update catlog set cpnum=cpnum+1 where id=@fartherId;
end
GO报错内容:declare附近有语法错误
@@rowcount附近有语法错误
请高手帮忙看看 问题解决 再加40分
@id int output,
@lb int output,
@cp varchar(20) output,
@pp varchar(20) output,
@imgsize int output,
@ms varchar(50) output,
@ImgUrl varchar(50) output,
@sj datetime output,
@fartherId int declare -----declare去掉
asdelete FROM users_zt where rq<>@rq;select @yhm=yhm, @id=id from users where yhm=@login_name;insert into users_zt(yhm,syjh,cp,rq,sj) values(@yhm,0,1,@rq,@rq) ;set @@rowcount=0 ---去掉
insert into cp(pd,lb,cp,pp,ms,imgsize,imgurl,rq,sj,userid) values(0,@lb,@cp,@pp,@ms,@imgsize,@ImgUrl,@rq,@sj, @id);if @@rowcount>0
begin
select @fartherId=fatherid from catlog where id=@lb; update catlog set cpnum=cpnum+1 where id=@fartherId;
end
GO
@yhm varchar(20) output,
@id int output,
@lb int output,
@cp varchar(20) output,
@pp varchar(20) output,
@imgsize int output,
@ms varchar(50) output,
@ImgUrl varchar(50) output,
@sj datetime output,
@fartherId int
declareset @@rowcount=0这句不用写@id int ,
@lb int ,
@cp varchar(20) ,
@pp varchar(20) ,
@imgsize int ,
@ms varchar(50) ,
@ImgUrl varchar(50) ,
@sj datetime ,
@fartherId int
as....
你这种写法 报:不能在declare里面设置变量 output
declare--放上面来declare附近有语法错误
as附近有语法错误
必须声明变量 @fartherId
@login_name,@rq 没有定义
insert into cp(pd,lb,cp,pp,ms,imgsize,imgurl,rq,sj,userid) values(0,@lb,@cp,@pp,@ms,@imgsize,@ImgUrl,@rq,@sj, @id);
这一行中 多个变量没有赋值
CREATE procedure addition_cp@rq datetime ,
@login_name varchar(20) ,
@yhm varchar(20) ,
@id int ,
@lb int ,
@cp varchar(20) ,
@pp varchar(20) ,
@imgsize int ,
@ms varchar(50) ,
@ImgUrl varchar(50) ,
@sj datetime
as
delete FROM users_zt where rq<>@rq;select @yhm=yhm, @id=id from users where yhm=@login_name;insert into users_zt(yhm,syjh,cp,rq,sj) values(@yhm,0,1,@rq,@rq) ;
insert into cp(pd,lb,cp,pp,ms,imgsize,imgurl,rq,sj,userid) values(0,@lb,@cp,@pp,@ms,@imgsize,@ImgUrl,@rq,@sj, @id);
if @@rowcount>0
begin
select @fartherId=fatherid from catlog where id=@lb; update catlog set cpnum=cpnum+1 where id=@fartherId;
end
GO
全码
在AS后面加上这一行
declare @fartherId int
必须声明标量变量 "@fartherId"。
消息 137,级别 15,状态 2,过程 addition_cp,第 27 行
必须声明标量变量 "@fartherId"。所有代码,编译下错误很明显。
@login_name varchar(20) ,
@yhm varchar(20) ,
@id int ,
@lb int ,
@cp varchar(20) ,
@pp varchar(20) ,
@imgsize int ,
@ms varchar(50) ,
@ImgUrl varchar(50) ,
@sj datetime
as
declare @fartherId intdelete FROM users_zt where rq<>@rq;select @yhm=yhm, @id=id from users where yhm=@login_name;insert into users_zt(yhm,syjh,cp,rq,sj) values(@yhm,0,1,@rq,@rq) ;
insert into cp(pd,lb,cp,pp,ms,imgsize,imgurl,rq,sj,userid) values(0,@lb,@cp,@pp,@ms,@imgsize,@ImgUrl,@rq,@sj, @id);
if @@rowcount>0
begin
select @fartherId=fatherid from catlog where id=@lb; update catlog set cpnum=cpnum+1 where id=@fartherId;
end
GO