ストアド プロシージャを介して 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 の値を返すことができません。どんな助けでも大歓迎です。
前もって感謝します!