2

下面是我的商店操作的一部分,用于从表的视图中读取数据并对其进行处理,但是有一个错误,我想知道...(在选择语句中出现 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

错误:消息 16924,级别 16,状态 1,第 52 行 Cursorfetch:INTO 列表中声明的变量数必须与所选列的数匹配。

4

2 回答 2

4

你错过了一个逗号:

SELECT PkJobDoneDaily_Id
   , Fk_ExecCarInOwner
   , Fk_ActivityType
   , Fk_CostSrc
   , Fk_ShiftNum
   , Fk_WorkGroup
   , DetachNum
    TotalTime --<-- Here

因此,您选择的是 7 列,而不是选择 8 列,最后一个列的别名为TotalTimeto。

于 2013-03-01T07:31:36.250 回答
2

DetachNum选择列和之间缺少逗号TotalTime

备注:也许您也应该检查您的选择列 PkJobDoneDaily_Id 是否与变量 @Fk_JobDoneDaily 具有相同的名称以避免混淆(名称以 P 与 F 开头)。

于 2013-03-01T07:30:52.637 回答