Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在执行sp_execute_external_script命令时将多个结果集放入variable或temp表中?_Sql Server_R_Sql Server 2008_Stored Procedures_Sql Server 2016 - Fatal编程技术网

Sql server 如何在执行sp_execute_external_script命令时将多个结果集放入variable或temp表中?

Sql server 如何在执行sp_execute_external_script命令时将多个结果集放入variable或temp表中?,sql-server,r,sql-server-2008,stored-procedures,sql-server-2016,Sql Server,R,Sql Server 2008,Stored Procedures,Sql Server 2016,我有一个存储过程,它将下面的sp\u execute\u external\u script命令封装在while循环中,我将分别获得每个返回的结果集作为输出。我正在使用SQL Server 2016来完成所有这些工作 EXECUTE sp_execute_external_script @language = N'R',@script = N' some R code here ' ,@input_data_1 = N' SELECT * FROM #TempTable;' WITH

我有一个存储过程,它将下面的
sp\u execute\u external\u script
命令封装在while循环中,我将分别获得每个返回的结果集作为输出。我正在使用SQL Server 2016来完成所有这些工作

EXECUTE sp_execute_external_script @language = N'R',@script = N' some R code here ' ,@input_data_1 = N' SELECT * FROM #TempTable;'  
WITH 
    RESULT 
        SETS 
            (
                (
                    [filename] NVARCHAR(MAX), 
                    [mobile_fraction] NVARCHAR(MAX), 
                    [t_half] NVARCHAR(MAX), 
                    [r_square] NVARCHAR(MAX) 
                )
            );
我希望将结果集的所有返回数据存储到@variable(或#tentable)中,以便能够继续处理这些数据。我已经尝试了以上两种情况(例如
插入@variable EXEC“myStoredProcedure”
),但是我得到了以下错误

“集合”附近的语法不正确


如果我删除插入@variable的
行,一切正常。所以,我想知道我是否可以在
execute sp\u execute\u external\u script
命令中使用这种“技术”

INSERT..EXEC
如果删除带有结果集的
,只要输出模式与表模式匹配,就可以工作

DECLARE @Temp TABLE
(
  Test NVARCHAR(MAX)
)

INSERT INTO @Temp
EXECUTE sp_execute_external_script @language = N'R',@script = N'OutputDataSet <- as.data.frame(c("test"))' ,@input_data_1 = N''  

SELECT * FROM @TEMP
DECLARE@Temp表
(
测试NVARCHAR(最大值)
)
插入到@Temp中
执行sp\u EXECUTE\u external\u script@language=N'R',@script=N'OutputDataSet