如何将sp_Executesql结果转化为变量?

如何将sp_Executesql结果转化为变量?

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

我知道我可以用sp_executesql但却找不到关于如何做到这一点的明确例子。


一只萌萌小番薯
浏览 551回答 3
3回答

慕码人2483693

如果您有输出参数,您可以这样做。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 valuecreate table #temptable (ID int null)insert into #temptable exec mysp 'Value1', 'Value2'select * from #temptable不漂亮,但很管用。

慕侠2389804

DECLARE @tab AS TABLE (col VARCHAR(10), colu2 varchar(10))    INSERT into @tab EXECUTE  sp_executesql N'SELECT 1 as col1, 2 as col2 union all SELECT 1 as col1, 2 as col2 union all SELECT 1 as col1,    2 as col2'   SELECT * FROM @tab
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL