我有這個字符串在PHP中:VARCHAR在SQL IN子句的參數存儲過程
$temp = 'one, two, three, four, five, six';
我所說的SQL服務器這樣的存儲過程:
$tsql_callSP = "{call spThisIsCalled($temp)}";
我有以下的SQL Server中的存儲過程有太多的問題,我不知道:
CREATE PROC spThisIsCalled(
@serverVar VARCHAR(100)
)
AS
BEGIN
SELECT Something, @serverVar
FROM ( .............
WHERE
(........ IN
([@serverVar]))
AS PVT;
END
@serverVar in the存儲過程是列名稱,但不知何故,由於某些問題,它不工作。請幫忙。
當您從PHP調用存儲過程時,是否設置了@ @ ServerVar? –
SQL Server不支持宏替換。您需要爲此使用一些DYNAMIC SQL –
您不能使用變量來指定列名稱。如果要將列名指定爲參數,則需要構建動態SQL。 – pmbAustin