我正在尝试使用R代码在SQL Server中创建一个存储过程。
predictions = rxPredict(model, Pred_Data);
OutputDataSet <- cbind(Pred_Data$key1,Pred_Data$flag,predictions);'
, @input_data_1 = @q
, @params = N'@rx_model varbinary(max)'
, @rx_model = @rx_model
WITH RESULT SETS (("key1" varchar(20),"flag" varchar(10),"predictions" FLOAT));
我可以创建我的存储过程,没有错误。
当我试图在表中保存输出时,我得到这个错误。
STDOUT message(s) from external script:
Rows Read: 0, Total Rows Processed: 0, Total Chunk Time: 0.001 seconds
Msg 11537, Level 16, State 3, Line 59
EXECUTE语句失败,因为它的WITH RESULT SETS子句为结果集1指定了3列,但是语句在运行时发送了2列。
在我的输出代码结构中包含了"With Result Sets"
中提到的所有三列。我对其他存储过程采用了类似的结构。没有问题。
没有数据点可以进行预测上。因此,它只发送两列的输出。