在使用 sqlsrv 扩展从 PHP中调用参数的 SQL Server 存储过程的文档中,它使用了一种奇怪的语法:
{call SubtractVacationHours( ?, ?)}
我期望的是:
EXEC SubtractVacationHours ?, ?;
在执行 T-SQL 存储过程的 SQL Server文档中,它只允许 EXEC | EXECUTE 作为命令字。所以我会认为查询会导致错误。
您当然可以sqlsrv_query
使用指定参数(即用值替换问号)调用 EXEC SubtractVacationHours 的 SQL。
在对参数化查询进行进一步研究之后,似乎“调用”来自必须通过 ODBC 提供程序调用它。
那么第二个 EXEC 语法真的有效吗?还是通过 sqlsrv 驱动程序调用参数化存储过程必须使用 ODBC CALL 语法?