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 に答える