帮我看看这个存储过程错在哪里,急啊!成功后立马给分!
一下为我的存储过程代码:
CREATE PROCEDURE InsertYpyjTjxxb
@areacode char(6), -- 地区编码
@gyjs float, -- 供应件数
@gypz float, -- 供应品种
@jxqzls bigint, -- 矫形器装配总例数
@jzzls bigint, -- 普及型假肢装配总例数
@gyfwzzs bigint, -- 供应服务站累积建站数
@gyfwzxjs bigint, -- 供应服务站本年新建数
@jgzs bigint, -- 开展服务的残联机构累计数
@jgxkzs bigint, --开展服务的残联机构本年新开展数
@ypyjgyzs bigint, -- 实施补贴的用品用具供应件数
@ypyjbted float -- 实施补贴的用品用具补贴额度
AS
declare @tjgyjs float -- 供应件数
declare @tjgypz float -- 供应品种
declare @tjjxqzls bigint -- 矫形器装配总例数
declare @tjjzzls bigint -- 普及型假肢装配总例数
declare @tjgyfwzzs bigint -- 供应服务站累积建站数
declare @tjgyfwzxjs bigint -- 供应服务站本年新建数
declare @tjjgzs bigint -- 开展服务的残联机构累计数
declare @tjjgxkzs bigint --开展服务的残联机构本年新开展数
declare @tjypyjgyzs bigint -- 实施补贴的用品用具供应件数
declare @tjypyjbted float -- 实施补贴的用品用具补贴额度
declare @count int -- 判断是插入还是修改
begin tran
go
select @count=count(*) from ypyjgyzdjb where areacode=@areacode
go
if @count>0
begin
update ypyjgyzdjb set gyjs=@gyjs,gypz=@gypz,jxqzls=@jxqzls,jzzls=@jzzls,gyfwzzs=@gyfwzzs,gyfwzxjs=@gyfwzxjs,jgzs=@jgzs,jgxkzs=@jgxkzs,ypyjgyzs=@ypyjgyzs,ypyjbted=@ypyjbted where areacode=@areacode
end
else
begin
insert into ypyjgyzdjb (gyjs,gypz,jxqzls,jzzls,gyfwzzs,gyfwzxjs,jgzs,jgxkzs,ypyjgyzs,ypyjbted,areacode) VALUES(@gyjs,@gypz,@jxqzls,@jzzls,@gyfwzzs,@gyfwzxjs,@jgzs,@jgxkzs,@ypyjgyzs,@ypyjbted,@areacode)
end
go
select @tjgyjs=sum(gyjs),@tjgypz=sum(gypz),@tjjxqzls=sum(jxqzls), @tjjzzls=sum(jzzls),@tjgyfwzzs=sum(gyfwzzs),@tjgyfwzxjs=sum(gyfwzxjs),@tjjgzs=sum(jgzs),@tjjgxkzs=sum(jgxkzs),@tjypyjgyzs=sum(ypyjgyzs),@tjypyjbted=sum(ypyjbted) from ypyjgyzdjb
where substring(areacode,1,4)= @areacode
go
select @count=count(*) from ypyjgyztjb where areacode=substring(@areacode,1,4)+'00'
if @count>0
begin
update ypyjgyztjb set gyjs=@tjgyjs,gypz=@tjgypz,jxqzls=@tjjxqzls,jzzls=@tjjzzls,gyfwzzs=@tjgyfwzzs,gyfwzxjs=@tjgyfwzxjs,jgzs=@tjjgzs,jgxkzs=@tjjgxkzs,ypyjgyzs=@tjypyjgyzs,ypyjbted=@tjypyjbted where areacode=substring(@areacode,1,4)+'00'
end
else
begin
insert into ypyjgyztjb (gyjs,gypz,jxqzls,jzzls,gyfwzzs,gyfwzxjs,jgzs,jgxkzs,ypyjgyzs,ypyjbted,areacode) VALUES(@tjgyjs,@tjgypz,@tjjxqzls,@tjjzzls,@tjgyfwzzs,@tjgyfwzxjs,@tjjgzs,@tjjgxkzs,@tjypyjgyzs,@tjypyjbted,substring(@areacode,1,4)+'00')
end
go
commit
GO
以下为语法检查时的错误:
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@count'。
服务器: 消息 137,级别 15,状态 2,行 1
必须声明变量 '@count'。
服务器: 消息 137,级别 15,状态 1,行 3
必须声明变量 '@gyjs'。
服务器: 消息 137,级别 15,状态 1,行 7
必须声明变量 '@gyjs'。
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@tjgyjs'。
服务器: 消息 137,级别 15,状态 1,行 1
必须声明变量 '@count'。
服务器: 消息 137,级别 15,状态 1,行 2
必须声明变量 '@count'。
服务器: 消息 137,级别 15,状态 1,行 4
必须声明变量 '@tjgyjs'。
服务器: 消息 137,级别 15,状态 1,行 8
必须声明变量 '@tjgyjs'。
先谢了啊