0

我有一些 SP(存储过程),例如:

ALTER PROCEDURE [dbo].[PROC_INSERT_ELEMENTS]
@IN_OWNER_CLASS_ID  int
AS
INSERT INTO [dbo].[ELEMENTS] (OWNER_CLASS_ID)  VALUES (@IN_OWNER_CLASS_ID)
RETURN @@IDENTITY

还有一些 PHP 函数,调用这个 SP:

function createEmptyElement($class){
$conn = l_connection::db_connect();
$proc_query = '{ call PROC_INSERT_ELEMENTS ( @IN_OWNER_CLASS_ID=? ) }';
$params = array(
array(&$class->ID, SQLSRV_PARAM_IN),
       );
$resource=sqlsrv_query($conn, $proc_query, $params);
sqlsrv_next_result($resource);
sqlsrv_fetch($resource);
var_dump(sqlsrv_get_field($resource, 0));

我想ID在表中获取新创建的行ELEMENTS,但我不能这样做,因为@@IDENTITY不返回行(我认为)。

哦,我不能改变SP。

4

0 回答 0