2010-07-12 69 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发布了一个错误。