0

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

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'.

我做错了什么?

4

3 回答 3

2

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

于 2012-07-17T10:38:09.880 回答
1

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

quote(@gcas)而不是简单@gcas

于 2012-07-17T10:40:59.553 回答
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 + ')
于 2012-07-17T10:41:49.573 回答