如何将局部变量设置为 SQL 中执行的返回值

How do I set a local variable to the returned value from an execute in SQL

在下面的代码中,我尝试将局部变量设置为从 TSQL 中的执行语句返回的值。

一个声明的变量:@id execute 需要一个类型,一个增量,和 returns 一个值 期望的结果是设置返回变量 @id

的值

下面的 select 语句将 @id 显示为 0,执行似乎返回值但未将其设置为 @id。 Researching/googling 声明这是我应该将局部变量设置为执行语句的方式 returns 但我显然没有做对。

declare @id int = -1 
exec @id = AP_GET_NEXTID @type = 'CT', @increment = 1
print @id
select @id

下一个 ID 似乎返回但未设置到 @id 字段。

尝试类似...

CREATE TABLE #Result ( NextID int )

DECLARE @id int

INSERT #Result exec AP_GET_NEXTID @type = 'CT', @increment = 1

SELECT TOP 1 @id = NextID FROM #Result

PRINT @id

SELECT @id