出力として2つのテーブルを生成するプロシージャがありますが、実行するとエラーが発生します。両方のテーブルをローカル変数に渡したいと思います。SQLプロシージャから複数のテーブルの出力を処理するには?
DECLARE @model_data_stats TABLE (var VARCHAR(150), center FLOAT, scale FLOAT);
DECLARE @model_log_stats TABLE (var VARCHAR(150), zero INT, plusone INT, plustwo INT);
DECLARE @model_logit VARBINARY(MAX);
EXEC sp_execute_external_script @language = N'R',
@script = N'
#R script, irrelevant to question
#the following variables are assigned:
data_stats <- table
log_stats <- table
trained_model <- varbinary(max) data type
',
@input_data_1 = N'SELECT * FROM dbo.Table',
@params = N'@data_stats TABLE (var VARCHAR(150), center FLOAT, scale FLOAT) OUTPUT,
@log_stats TABLE (var VARCHAR(150), zero INT, plusone INT, plustwo INT) OUTPUT,
@trained_model VARBINARY(MAX)',
@data_stats = @model_data_stats OUTPUT,
@log_stats = @model_log_stats OUTPUT,
@trained_model = @model_logit OUTPUT;
これは私がコードを実行したとき、私は取得エラーです:
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.
これは、エラーを生成するTABLE
ののoccurance私にしても特に明確ではないのですが、私の推測では、出力部分です変数は(@params
の後に)定義されます。 DECLARE
の文自体はうまく動作します。
私は間違った方法でプロシージャの出力を宣言していると思います。私は正しい方法が何であるかわからない。ヘルプは非常に高く評価されるだろう!