我有一些 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。