是我的商店peocedure的一部分,用于从表的视图中读取数据并对其进行处理,但是有错误,我想知道...... (在select语句中出现8个参数,光标前面出现8个参数但有错误!!!)
DECLARE CUR CURSOR FOR
SELECT PkJobDoneDaily_Id
, Fk_ExecCarInOwner
, Fk_ActivityType
, Fk_CostSrc
, Fk_ShiftNum
, Fk_WorkGroup
, DetachNum
TotalTime
FROM dbo. ViewAccJobDoneDaily
WHERE Fk_JobDonePeriod = @Fk_JobDonePeriod and IsOk=1 AND IsDel=0 AND Fk_ActivityType=2
OPEN CUR
FETCH NEXT FROM CUR INTO @Fk_JobDoneDaily,@Fk_ExecCarInOwner,@Fk_ActivityType
,@Fk_CostSrc,@Fk_ShiftNum,@Fk_WorkGroup,@DetachNum,@TotalTime
错误: Msg 16924,Level 16,State 1,Line 52 Cursorfetch:INTO列表中声明的变量数必须与所选列的变量数相匹配。
答案 0 :(得分:2)
你错过了一个逗号:
SELECT PkJobDoneDaily_Id
, Fk_ExecCarInOwner
, Fk_ActivityType
, Fk_CostSrc
, Fk_ShiftNum
, Fk_WorkGroup
, DetachNum
TotalTime --<-- Here
因此,您不是选择8列,而是选择7列,最后一列是TotalTime
的别名。
答案 1 :(得分:0)
选择列DetachNum
和TotalTime
之间缺少逗号。
备注:也许您应该检查您的选择列PkJobDoneDaily_Id与变量@Fk_JobDoneDaily具有相同的名称,以避免混淆(名称以P与F开头)。