2011-11-29 68 views
1

我有一個接受大量輸入變量的SQL Server 2000存儲過程。SQL變量串聯

我需要連接其中兩個(都是nvarchar)並將其傳遞給另一個存儲過程。目前,它看起來像這樣:

EXEC usp_SProc @Variable1, @Variable2 + ' ' + @Variable3 

然而,當這個執行我收到錯誤:

Incorrect syntax near '+' 

我收到同樣的錯誤,如果我嘗試這一個簡單的SELECT語句。任何人都可以引導我在正確的方向嗎?

感謝

+0

Filip,Mitch - 真棒,感謝您發佈答案這麼快! – Danny

回答

2
DECLARE @combinedVar nvarchar(size) -- where size is your expected datatype size 
SET @combinedVar = @Variable2 + ' ' + @Variable3 

EXEC usp_SProc @Variable1, @combinedVar 
3

SQL Server不允許在EXEC表達式。你必須聲明新變量,設置連接值並執行存儲過程。

DECLARE @V_Concatenated NVARCHAR(200) 
SET @V_Concatenated = @Variable2 + ' ' + @Variable3 
EXEC usp_SProc @Variable1, @V_Concatenated 

只是不要忘記將@V_Concatenated長度設置爲適當的值。