SQL查询执行导致语法错误

时间:2012-07-17 10:35:21

标签: mysql sql ado.net

我正在尝试执行下一个查询

DECLARE @ponumber varchar(50)
DECLARE @gcas varchar(50)
SET @ponumber = '3864_ab03963'
SET @gcas = '81332119.'
EXEC(N'SELECT * FROM tCleanOrderTracking_prod 
       WHERE [PO number] = ' + @ponumber + ' AND [GCAS] = ' + @gcas)

我收到了错误消息

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '_ab03963'.

我做错了什么?

3 个答案:

答案 0 :(得分:2)

您必须在@gcas参数后关闭单引号。

答案 1 :(得分:1)

您应该用引号括起所有字符串参数,例如:

quote(@gcas)而非简单@gcas

答案 2 :(得分:1)

试试这个,你错过了@gcas附近的'

DECLARE @ponumber varchar(50)
DECLARE @gcas varchar(50)
SET @ponumber = '3864_ab03963'
SET @gcas = '81332119.'
EXEC(N'SELECT * FROM tCleanOrderTracking_prod 
       WHERE [PO number] = ' + @ponumber + ' AND [GCAS] = ' + @gcas + ')