我有这个字符串在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