本文介绍了为什么错误在'='附近显示错误语法,在'+'附近显示错误语法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SET @SQLSTATEMENT3='INSERT INTO '+@SERVERNAME+'.'+@DISTRIBUTEDDBNAME+'.[dbo].E_IMG_MST
([IMM_IMCD],[IMM_SLNO],[IMM_IMAG],[IMM_ITCD],[IMM_SLCD], [IMM_ISKU],[IMM_ACCD],[IMM_IGNM])
SELECT
(
[IMM_IMCD] = ((SELECT ISNULL(MAX([IMM_IMCD]),0) FROM '+@SERVERNAME+'.'+@DISTRIBUTEDDBNAME+'.[dbo] E_IMG_MST)
+ (ROW_NUMBER() OVER(ORDER BY [IMM_SLCD]))),
[IMM_SLNO] =(ROW_NUMBER()OVER(PARTITION BY IMM_ISKU ORDER BY IMM_ISKU)),
[IMM_IMAG],
[IMM_ITCD],
[IMM_SLCD],
[IMM_ISKU],
[IMM_ACCD],
[IMM_IGNM] ) FROM #TEMP_IMG '
消息102,第15级,状态1,第7行
''=''附近的语法不正确.
消息102,第15级,状态1,第8行
``+''附近的语法不正确.
--------------------------
显示错误
Msg 102, Level 15, State 1, Line 7
Incorrect syntax near ''=''.
Msg 102, Level 15, State 1, Line 8
Incorrect syntax near ''+''.
--------------------------
Showing Error
推荐答案
SET @SQLSTATEMENT3='INSERT INTO '+@SERVERNAME+'.'+@DISTRIBUTEDDBNAME+'.[dbo].E_IMG_MST
([IMM_IMCD],[IMM_SLNO],[IMM_IMAG],[IMM_ITCD],[IMM_SLCD], [IMM_ISKU],[IMM_ACCD],[IMM_IGNM])
SELECT ((SELECT ISNULL(MAX([IMM_IMCD]),0) FROM '+@SERVERNAME+'.'+@DISTRIBUTEDDBNAME+'.[dbo] E_IMG_MST)
+ (ROW_NUMBER() OVER(ORDER BY [IMM_SLCD]))),
(ROW_NUMBER()OVER(PARTITION BY IMM_ISKU ORDER BY IMM_ISKU)),
[IMM_IMAG],
[IMM_ITCD],
[IMM_SLCD],
[IMM_ISKU],
[IMM_ACCD],
[IMM_IGNM] FROM #TEMP_IMG '
DECLARE @SQLSTATEMENT3 VARCHAR(MAX)
DECLARE @SERVERNAME VARCHAR(MAX)
DECLARE @DISTRIBUTEDDBNAME VARCHAR(MAX)
SET @SQLSTATEMENT3='INSERT INTO '+@SERVERNAME+'.'+@DISTRIBUTEDDBNAME+'.[dbo].E_IMG_MST
([IMM_IMCD],[IMM_SLNO],[IMM_IMAG],[IMM_ITCD],[IMM_SLCD], [IMM_ISKU],[IMM_ACCD],[IMM_IGNM])
SELECT
(
[IMM_IMCD] = ((SELECT ISNULL(MAX([IMM_IMCD]),0) FROM '+@SERVERNAME+'.'+@DISTRIBUTEDDBNAME+'.[dbo] E_IMG_MST)
+ (ROW_NUMBER() OVER(ORDER BY [IMM_SLCD]))),
[IMM_SLNO] =(ROW_NUMBER()OVER(PARTITION BY IMM_ISKU ORDER BY IMM_ISKU)),
[IMM_IMAG],
[IMM_ITCD],
[IMM_SLCD],
[IMM_ISKU],
[IMM_ACCD],
[IMM_IGNM] ) FROM #TEMP_IMG '
这篇关于为什么错误在'='附近显示错误语法,在'+'附近显示错误语法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!