У меня есть процедура, которая генерирует две таблицы в качестве вывода, но при ее запуске она генерирует ошибку. Я хочу передать обе таблицы в локальные переменные.Как обрабатывать вывод нескольких таблиц из процедуры 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
генерирует ошибку, но я думаю, это та часть, где выход переменные определены (после @params
). Операторы DECLARE
сами по себе работают отлично.
Я предполагаю, что я объявляю вывод процедуры неправильным образом. Я не уверен, какой будет правильный путь. Помощь будет принята с благодарностью!