0

ストアド プロシージャを介して SQL Server から基本的な R スクリプトを実行しようとしています。データセットを返していますが、変数を返したり出力したりしたいのですが、それができません。

以下は私が持っているストアドプロシージャです

DROP PROC IF EXISTS get_iris_dataset;  
go  
CREATE PROC get_iris_dataset  
AS  
BEGIN  
declare @OutName float
 EXEC   sp_execute_external_script  
   @language = N'R'  
 , @script = N'
    iris_data <- iris
    out = 5.1;'  
 , @input_data_1 = N''  
 , @output_data_1_name = N'iris_data'  
 ,@params= N'@out float OUTPUT'
 ,@out = @OutName OUTPUT

 WITH RESULT SETS (("Sepal.Length" float not null,   
       "Sepal.Width" float not null,  
    "Petal.Length" float not null,   
    "Petal.Width" float not null, "Species" varchar(100)));  
END;  
return 0 
go  

私は以下のように手続きを呼び出しています:

declare @OutputVar float
exec @OutputVar = get_iris_dataset
print @OutputVar

データセットは出力されますが、OutputVar の値を保存できません。

データセットを出力せずに OutputVar の値をキャプチャしようとしても、OutputVar の値を返すことができません。どんな助けでも大歓迎です。

前もって感謝します!

4

1 に答える 1