为什么错误在'='附近显示错误语法,在'+'附近显示错误语法? [英] Why error is showning Incorrect syntax near '='.,Incorrect syntax near '+' ?

查看:76
本文介绍了为什么错误在'='附近显示错误语法,在'+'附近显示错误语法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

推荐答案

在查询下面尝试


try below query


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  '


没有.或至少不适合我.
检查您是否正确声明了@ SQLSTATEMENT3:
It doesn''t. Or at least,it doesn''t for me.
Check that you have declared @SQLSTATEMENT3 correctly:
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  '


这篇关于为什么错误在'='附近显示错误语法,在'+'附近显示错误语法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆