我在PHP中有这个字符串:
$temp = 'one, two, three, four, five, six';
我以这种方式调用SQL Server存储过程:
$tsql_callSP = "{call spThisIsCalled($temp)}";
我有以下作为SQL服务器中的存储过程并且存在soome问题,我不知道是什么:
CREATE PROC spThisIsCalled(
@serverVar VARCHAR(100)
)
AS
BEGIN
SELECT Something, @serverVar
FROM ( .............
WHERE
(........ IN
([@serverVar]))
AS PVT;
END
存储过程中的@serverVar是列名,但由于某些问题,它在某种程度上无法正常工作。请帮忙。
答案 0 :(得分:0)
我认为这是不可能的。您可以尝试将所有代码移动到变量然后执行,例如
CREATE PROC spThisIsCalled(
@serverVar VARCHAR(100)
)
AS
BEGIN
declare @sqlCommand varchar(max) =
'SELECT Something, ' + @serverVar + ' FROM ( .............
WHERE
(........ IN
(' + @serverVar + ' ]))AS PVT; ' ;
EXEC SP_EXECUTESQL @sqlCommand
End