You need to enable JavaScript to run this app. BigQuery存储过程如何返回值并在调用时捕获返回值
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery存储过程如何返回值并在调用时捕获返回值

BigQuery存储过程调用并接收返回值实现方案

BigQuery 标准SQL的存储过程本身不支持直接通过RETURN语句返回值,需要通过OUT类型参数实现返回值传递,正确写法如下:

1. 改写存储过程proc a,添加OUT输出参数

CREATE OR REPLACE PROCEDURE `p1.d1.a`(OUT return_val INT64) -- OUT参数用来承载返回值,类型可根据需求更换
BEGIN
  -- 原有业务逻辑
  -- 示例:给返回参数赋值,替换为实际计算得到的返回值即可
  SET return_val = 100;
END;

2. 在存储过程proc b中调用proc a并接收返回值

CREATE OR REPLACE PROCEDURE `p1.d1.b`()
BEGIN
  DECLARE i INT64; -- 定义用来接收返回值的变量
  -- 调用proc a的正确语法,把变量作为参数传入即可接收返回值
  CALL `p1.d1.a`(i);
  -- 后续可直接使用变量i,例如下方打印验证
  SELECT i;
END;

核心注意点

  • 如果需要返回多个值,给proc a定义多个OUT参数即可,调用时按顺序传入对应变量接收
  • 存储过程标识建议写全项目名.数据集名.存储过程名,避免同环境下的命名冲突
  • 输出参数支持所有BigQuery兼容的数据类型,包括STRUCT、ARRAY等复杂类型

内容的提问来源于stack exchange,提问作者D7-PO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 17:45:01