2013-03-01 30 views
0

以下是我的商店操作的一部分,它用於從表格視圖中讀取數據並對其進行處理,但出現錯誤,我想知道...... (SELECT語句中出現8個參數和光標前出現8 paramete,但有錯誤!!!)光標使用中的T-Sql的錯誤

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列表中聲明的名稱必須與所選列的名稱匹配。

回答

0

在選擇列DetachNumTotalTime之間有一個逗號缺失。

備註:也許您應該檢查您的選擇列PkJobDoneDaily_Id是否與變量@Fk_JobDoneDaily同名,以避免混淆(名稱以P對F開頭)。

1

你已經錯過了一個逗號:

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

因此,而不是選擇8列,你選擇7列,其中最後你給的TotalTime到別名。

+0

謝謝親愛的達米恩,我忘記了;) – 2013-03-01 07:44:59