2010-07-12 28 views
0

什麼我在下面這段代碼丟失將導致錯誤:SQL DB2 SQL錯誤不正確的語法

Msg 170, level 15, line 113 line 113: Incorrect syntax near 'actual_completion_date'.

update #Loss_mit_step 
set 
[STEP924_COMPL_DATE] = Case when step_code ='924' then ls_actual_completion_date else ' ' end, 
[STEP926_COMPL_DATE] = Case when step_code ='926' then ls_actual_completion_date else ' ' end, 
[STEP927_COMPL_DATE] = Case when step_code ='927' then ls_actual_completion_date else ' ' end, 
[STEP928_COMPL_DATE] = Case when step_code ='928' then ls_actual_completion_date else ' ' end, 
[APPROVAL_DATE] = Case when step_code ='Q28' then ls_actual_completion_date else ' ' end 
+0

請格式化您的代碼。在編輯器中選擇它並按下Control-K。 – 2010-07-12 19:11:54

+0

@marc:那是我的編輯。我認爲這就像他以前的問題,他使用的是DB2鏈接服務器。也許這個是純粹的T-SQL? – 2010-07-12 19:35:40

回答

2

您似乎是在聲明中的額外的逗號,在最後。


我建議你註釋掉每個「案例」線,一個接一個,直到你發現了什麼問題,或者直到你只有一條線左側。

+0

+1,我剛剛打字! – 2010-07-12 19:15:29

+0

刪除了最後一個逗號,仍然收到錯誤? – JMS49 2010-07-12 19:18:06

0

我找到了錯誤的原因:在第一行的actual_completion_date前面有一個空格。

+1

您已編輯以刪除John Saunders指出的尾隨逗號。無論如何,我看到上面沒有空間...... – gbn 2010-07-12 19:24:23

+1

下一次,發佈整個查詢,你張貼的小碎片不是你修正的,它沒有空間。 – 2010-07-12 19:31:37

2

您發佈的內容在語法上是正確的,因此您無法獲得語法錯誤。它實際上解析得很好。您的錯誤消息提到actual_completion_date,但您的帖子中沒有此類標記。所以顯然你從一個不同的T-SQL發佈了一個錯誤。