gpt4 book ai didi

tsql - 如何将 sp_executesql 结果放入变量中?

转载 作者:行者123 更新时间:2023-12-03 04:17:41 25 4
gpt4 key购买 nike

我需要执行一段动态 SQL,然后需要将结果存储到变量中。

我知道我可以使用 sp_executesql 但找不到有关如何执行此操作的明确示例。

最佳答案

如果你有 OUTPUT 参数,你可以这样做

DECLARE @retval int   
DECLARE @sSQL nvarchar(500);
DECLARE @ParmDefinition nvarchar(500);

DECLARE @tablename nvarchar(50)
SELECT @tablename = N'products'

SELECT @sSQL = N'SELECT @retvalOUT = MAX(ID) FROM ' + @tablename;
SET @ParmDefinition = N'@retvalOUT int OUTPUT';

EXEC sp_executesql @sSQL, @ParmDefinition, @retvalOUT=@retval OUTPUT;

SELECT @retval;

但如果你不这样做,也无法修改 SP:

-- Assuming that your SP return 1 value
create table #temptable (ID int null)
insert into #temptable exec mysp 'Value1', 'Value2'
select * from #temptable

不漂亮,但有效。

关于tsql - 如何将 sp_executesql 结果放入变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/803211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com