我有一个执行存储过程的PHP脚本。到现在为止还挺好。现在我有一个存储过程在存储过程中执行两个查询:
EXEC ('Delete From [DB].dbo.[Table]')
EXEC ('INSERT INTO [DB].dbo.[Table] ([Col])VALUES(1)')
如果我用php调用SP,它只删除表的内容而不插入第一行。 (似乎只会执行第一个Exec) 我用PHP调用SP如下:
$stmt = sqlsrv_query($connection, "EXEC my_sp" );
...
while( $row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) ) {
...
}
此刻回报对我来说并不重要。我只是想知道为什么只执行第一个查询。如果直接在数据库中调用SP,则将按预期执行查询。 没有错误消息或类似的东西。 有谁知道我怎么能同时执行"高管"只有一个php调用的SP?
感谢您的帮助! V
答案 0 :(得分:0)
我认为您不需要在SP中编写EXEC('从[DB] .dbo。[Table]'删除)。 Ingnore EXEC()。就像删除[DB] .dbo一样写。[表]。