You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用表值参数的Stored Procedure报错:未声明标量变量@data求解决方案

问题解答

你遇到的错误是因为表类型参数不能直接通过@data.y这种方式引用列,表类型参数本质是一个表对象,需要将它当作普通表来处理,通过FROM子句访问其数据。

修正后的存储过程代码:

create procedure sp_evaluate_y_yhat 
    @data y_yhat_tabletype readonly
as
begin
    select sum(y) as sum_y, sum(yhat) as sum_yhat
    from @data
end

关键说明

  • 表类型参数在存储过程中是只读表,必须通过FROM子句来查询它的列,不能像标量变量那样直接用@参数.列名的格式。
  • 后续扩展复杂逻辑(比如过滤、关联其他表)时,都可以基于FROM @data来编写SQL语句,和操作普通表的语法一致。

内容的提问来源于stack exchange,提问作者XiB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 23:33:30