create function GetJXCTongJi(@tjrq as datetime)returns @q table(DiaoBoShuLiang int,RuKuShuLiang int,JinJia money,KuCunShuLiang int,TuiHuoShuLiang int,
TuiHuoJinE money,XiaoShouShuLiang int,XiaoShouJinE money)asbegin
declare @w
table(ShuLiang int,ShangHuChanPinID int,DiaoBoRiQi datetime)
insert @w select ShuLiang as DiaoBoShuLiang,ShangHuChanPinID,DiaoBoRiQi from dbo.DiaoBoMingXi 
declare @e
table(RuKuShuLiang int,ShangHuChanPinID int,RuKuRiqi datetime,JinJia money)
insert @e select RuKuShuLiang,ShangHuChanPinID,RuKuRiqi,JinJia from dbo.RuKuMingXi 
declare @r
table(KuCunShuLiang int,TongJiRiQi datetime,ChanPinID int)
insert @r select KuCunShuLiang,TongJiRiQi,ChanPinID from dbo.ShangHuKuCun 
declare @t
table(TuiHuoShuLiang int,TuiHuoRiQi datetime,TuiHuoJinE money,ChanPinID int)
insert @t select TuiHuoShuLiang,TuiHuoRiQi,TuiHuoJinE,ChanPinID from dbo.TuiHuoDanMingXi inner join dbo.TuiHuoDan on dbo.TuiHuoDan.TuiHuoDanID=dbo.TuiHuoDanMingXi.TuiHuoDanID
declare @y
table(XiaoShouRiQi datetime,ShuLiang int,ChanPinID int,ShiShouJia money)
insert @y select XiaoShouRiQi,ShuLiang as XiaoShouShuLiang,ChanPinID,ShiShouJia as XiaoShouJinE from dbo.XiaoShouMingXi
insert @q select b.DiaoBoShuLiang,c.RuKuShuLiang,c.JinJia,a.KuCunShuLiang,d.TuiHuoShuLiang,
d.TuiHuoJinE,f.XiaoShouShuLiang,f.XiaoShouJinE from ShangHuKuCun as a
inner join @w as b on [email protected]
inner join @e as c on [email protected]
inner join @t as d on [email protected]
inner join @y as f on [email protected]
where @r.TongJiRiQi [email protected]
and @r.TongJiRiQi [email protected]
and @r.TongJiRiQi [email protected]
and @r.TongJiRiQi [email protected]
and @r.TongJiRiQi =@tjrqreturnendgo
 
 错误是:
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 38 行
必须声明标量变量 "@w"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 39 行
必须声明标量变量 "@e"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 40 行
必须声明标量变量 "@t"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 41 行
必须声明标量变量 "@y"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 42 行
必须声明标量变量 "@r"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 42 行
必须声明标量变量 "@w"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 43 行
必须声明标量变量 "@r"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 43 行
必须声明标量变量 "@e"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 44 行
必须声明标量变量 "@r"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 44 行
必须声明标量变量 "@t"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 45 行
必须声明标量变量 "@r"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 45 行
必须声明标量变量 "@y"。
消息 137,级别 16,状态 1,过程 GetJXCTongJi,第 46 行
必须声明标量变量 "@r"。我明明前面建了 @w,@e,@r,@t,@y
而且  @w,@e,@r,@t,@y在建立的时候能够运行成功
这里错误说道声明的问题   
 我是新手  在网上看到的  都没有去声明   不知道究竟是错在哪里了 声明的话  该怎么改  请各位大虾们帮帮忙