EXECUTE语句失败,因为其WITH RESULT SETS子句指定了3结果集

66bbxpm5  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(127)

我试图创建一个存储过程使用R代码顶部建立一个ML模型在SQL Server中。

  1. predictions = rxPredict(model, Pred_Data);
  2. OutputDataSet <- cbind(Pred_Data$key1,Pred_Data$flag,predictions);'
  3. , @input_data_1 = @q
  4. , @params = N'@rx_model varbinary(max)'
  5. , @rx_model = @rx_model
  6. WITH RESULT SETS (("key1" varchar(20),"flag" varchar(10),"predictions" FLOAT));

我能够毫无错误地创建我的存储过程。
我在尝试将输出保存到表中时遇到此错误。

  1. STDOUT message(s) from external script:
  2. Rows Read: 0, Total Rows Processed: 0, Total Chunk Time: 0.001 seconds

消息11537,16级,状态3,第59行
EXECUTE语句失败,因为其WITH RESULT SETS子句为结果集编号1指定了3列,但该语句在运行时发送了2列。
我已经在输出代码结构中包含了"With Result Sets"中提到的所有三列。我在其他存储过程中遵循了类似的结构。没有任何问题。
有人能告诉我在这种情况下真实的的问题是什么吗?

kgqe7b3p

kgqe7b3p1#

没有数据点可用于预测。因此它只发送两列的输出。

相关问题