如何在不更改存储过程本身的情况下将动态存储过程的结果(带有输入参数)插入到临时表中

时间:2019-01-17 12:42:41

标签: sql sql-server

我有一个带有多个输入参数的“动态”存储过程,该存储过程返回一些列作为输出,而结果列的计数未知。

我要执行此存储过程,并将结果插入#temp_Table中,而无需对存储过程本身进行任何更改。

注意:

  1. 我不知道结果列的数量
  2. 下面显示的存储过程只是一个例子

有人可以帮助我解决我的问题吗?

非常感谢。

CREATE PROCEDURE [dbo].[GetDBNames]
    @id INT
AS
BEGIN
    DECLARE @QUERY NVARCHAR(max)=''

    SET @QUERY = @QUERY +
                 'SELECT name, database_id FROM sys.databases 
                  WHERE database_id = ' + CAST(@id AS VARCHAR(max)) + ''
    EXEC (@QUERY)
END

0 个答案:

没有答案