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

Snowflake平台:无需游标,用存储过程跨表填充数据可行吗?

解决方案

可以不使用游标,通过纯SQL实现需求。利用Snowflake的LATERAL关联语法,结合存储过程的调用结果来填充目标表,具体语句如下:

INSERT INTO test_2 (num, doubled)
SELECT t.num, res.$1
FROM test_1 t,
LATERAL (CALL double_val(t.num)) res;

说明:

  • LATERAL关键字允许对test_1中的每一行调用double_val存储过程,将存储过程返回的单个值作为结果集的一部分关联到原表行。
  • res.$1表示存储过程返回结果集中的第一列(即翻倍后的值)。

执行后验证结果:

SELECT * FROM test_2;

输出结果如下:

numdoubled
12
24
36

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 14:17:10