2

以下は、テーブルのビューからデータを読み取ってその上で処理するために使用された私のストア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

エラー:メッセージ16924、レベル16、状態1、52行目カーソルフェッチ:INTOリストで宣言された変数の数は、選択した列の数と一致する必要があります。

4

2 に答える 2

4

カンマを逃しました:

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

したがって、8列を選択する代わりに、7列を選択し、最後にのエイリアスを指定TotalTimeします。

于 2013-03-01T07:31:36.250 に答える
2

選択列DetachNumと。の間にコンマがありませんTotalTime

備考:混乱を避けるために、選択列PkJobDoneDaily_Idが変数@Fk_JobDoneDailyと同じ名前であることも確認する必要があります(名前はPとFで始まります)。

于 2013-03-01T07:30:52.637 に答える