早教吧作业答案频道 -->其他-->
写了一个存储过程,总提示“必须声明标量变量”,怎么改?存储过程如下:setANSINULLSONsetQUOTEDIDENTIFIERONgo--ALTERprocedure[dbo].[cbmtest]CREATEPROCEDUREcbmtestasbeginSETNOCOUNTON;@countint,@uni
题目详情
写了一个存储过程,总提示“必须声明标量变量”,怎么改?
存储过程如下:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
--ALTER procedure [dbo].[cbmtest]
CREATE PROCEDURE cbmtest
as
begin
SET NOCOUNT ON;
@count int,
@unitID varchar(20),
@projectCodeTag varchar(4),
@threeYearsAgo varchar(4),
@twoYearsAgo varchar(4),
@lastYear varchar(4),
@inTreeYearsAgo varchar(20),
@inTwoYearsAgo varchar(20),
@inLastYear varchar(20),
@outThreeYearsAgo varchar(20),
@outTwoYearsAgo varchar(20),
@outLastYear varchar(20)
set @count = 0;
delete from cw.dbo.CBMtemp;
insert into cw.dbo.CBMtemp (BMH,BMM,FZR)select distinct a.BMH,a.BMM,a.FZR from cwbackup.dbo.CBM a where a.TZ='45' and BMH like '8%' order by a.BMH;
select @count = count(*),BMH from cwbackup.dbo.CBMtemp;
while @count>0
begin
select @inTreeYearsAgo = sum(b.N6),@outTreeYearsAgo = sum(b.N7) from cwbackup.dbo.cwmc2010 b;
select @inTwoYearsAgo = sum(c.N6),@outTwoYearsAgo = sum(c.N7 )from cwbackup.dbo.cwmc2011 c;
select @inLastYear = sum(d.N6),@outLastYear = sum(d.N7) from cwbackup.dbo.cwmc2012 d;
update cwbackup.dbo.CBMtemp set inTreeYearsAgo = @inTreeYearsAgo,
inTwoYearsAgo = @inTwoYearsAgo,
inLastYear = @inLastYear,
outTreeYearsAgo = @outThreeYearsAgo,
outTwoYearsAgo = @outTwoYearsAgo,
outLastYear = @outLastYear;
end
END
提示的错误如下:
消息 102,级别 15,状态 1,过程 cbmtest,第 6 行
'@count' 附近有语法错误。
消息 137,级别 15,状态 1,过程 cbmtest,第 20 行
必须声明标量变量 "@count"。
消息 137,级别 15,状态 1,过程 cbmtest,第 23 行
必须声明标量变量 "@count"。
消息 137,级别 15,状态 2,过程 cbmtest,第 24 行
必须声明标量变量 "@count"。
消息 137,级别 15,状态 1,过程 cbmtest,第 26 行
必须声明标量变量 "@inTreeYearsAgo"。
消息 137,级别 15,状态 1,过程 cbmtest,第 27 行
必须声明标量变量 "@inTwoYearsAgo"。
消息 137,级别 15,状态 1,过程 cbmtest,第 28 行
必须声明标量变量 "@inLastYear"。
消息 137,级别 15,状态 2,过程 cbmtest,第 29 行
必须声明标量变量 "@inTreeYearsAgo"。
存储过程如下:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
--ALTER procedure [dbo].[cbmtest]
CREATE PROCEDURE cbmtest
as
begin
SET NOCOUNT ON;
@count int,
@unitID varchar(20),
@projectCodeTag varchar(4),
@threeYearsAgo varchar(4),
@twoYearsAgo varchar(4),
@lastYear varchar(4),
@inTreeYearsAgo varchar(20),
@inTwoYearsAgo varchar(20),
@inLastYear varchar(20),
@outThreeYearsAgo varchar(20),
@outTwoYearsAgo varchar(20),
@outLastYear varchar(20)
set @count = 0;
delete from cw.dbo.CBMtemp;
insert into cw.dbo.CBMtemp (BMH,BMM,FZR)select distinct a.BMH,a.BMM,a.FZR from cwbackup.dbo.CBM a where a.TZ='45' and BMH like '8%' order by a.BMH;
select @count = count(*),BMH from cwbackup.dbo.CBMtemp;
while @count>0
begin
select @inTreeYearsAgo = sum(b.N6),@outTreeYearsAgo = sum(b.N7) from cwbackup.dbo.cwmc2010 b;
select @inTwoYearsAgo = sum(c.N6),@outTwoYearsAgo = sum(c.N7 )from cwbackup.dbo.cwmc2011 c;
select @inLastYear = sum(d.N6),@outLastYear = sum(d.N7) from cwbackup.dbo.cwmc2012 d;
update cwbackup.dbo.CBMtemp set inTreeYearsAgo = @inTreeYearsAgo,
inTwoYearsAgo = @inTwoYearsAgo,
inLastYear = @inLastYear,
outTreeYearsAgo = @outThreeYearsAgo,
outTwoYearsAgo = @outTwoYearsAgo,
outLastYear = @outLastYear;
end
END
提示的错误如下:
消息 102,级别 15,状态 1,过程 cbmtest,第 6 行
'@count' 附近有语法错误。
消息 137,级别 15,状态 1,过程 cbmtest,第 20 行
必须声明标量变量 "@count"。
消息 137,级别 15,状态 1,过程 cbmtest,第 23 行
必须声明标量变量 "@count"。
消息 137,级别 15,状态 2,过程 cbmtest,第 24 行
必须声明标量变量 "@count"。
消息 137,级别 15,状态 1,过程 cbmtest,第 26 行
必须声明标量变量 "@inTreeYearsAgo"。
消息 137,级别 15,状态 1,过程 cbmtest,第 27 行
必须声明标量变量 "@inTwoYearsAgo"。
消息 137,级别 15,状态 1,过程 cbmtest,第 28 行
必须声明标量变量 "@inLastYear"。
消息 137,级别 15,状态 2,过程 cbmtest,第 29 行
必须声明标量变量 "@inTreeYearsAgo"。
▼优质解答
答案和解析
需要用 declare
比如:
declare @count int, @unitID varchar(20)
declare @projectCodeTag varchar(4)
比如:
declare @count int, @unitID varchar(20)
declare @projectCodeTag varchar(4)
看了 写了一个存储过程,总提示“必...的网友还看了以下:
VBA中公式中的变量=SUMPRODUCT((明细!R2C1:R100C1=RC1)*(明细!R2C 2020-03-30 …
小明购得用于食用菌的轻质碳酸钠.为测定其含钙量,小明进行的实验是1.称取样品5g2.加入足量7.3 2020-04-26 …
好的+分:高一数学向量证明题(证明是要过程的)自己画图△ABC重心为G.点P,Q分别在AB,AC上 2020-05-16 …
用空间向量解决线线,线面平行问题能不能用具体例子来说分别说明一下,我没有详细学过向量,对于解决解答 2020-05-16 …
空间向量证明题 a向量为单位向量用向量方法证明三垂线定理逆定理的时候因为PA向量⊥l,所以PA向量 2020-05-16 …
营养学家指出每天铝的安全摄入量为每千克体重0.7mg.传统食品加工过程中,一般在1kg面粉中加入1 2020-06-05 …
关于钢筋原材料送检.进场材料如8厘20T,10厘10T,14百5T.而质量证明合格证中8厘66T, 2020-06-19 …
量子是能量还是粒子?我看一本书上对量子的定义是:量子是一个物体能量量化的最小能量.说明量子是能量. 2020-07-04 …
读水循环示意图,回答第2题.若全球气候变暖,则关于图中水循环各环节水量变化量最可能是()A.植物蒸腾 2020-11-21 …
如图所示,粗略测量小明同学引体向上运动的功率时,下列物理量不需要测量的是()A.单杠的高度B.小明的 2020-11-28 …