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

Snowflake存储过程执行的查询在Query History中无Results显示问题

问题原因及调试建议

为什么Insert命令的Query History没有Results结果?

  • DML语句的默认特性:普通INSERT(不带RETURNING子句)本身不会返回结果集,Query History的Results标签仅展示有结果集输出的语句(比如SELECT、带RETURNING的DML)。
  • 事务上下文的限制:外层JS存储过程通过try-catch控制事务的COMMIT/ROLLBACK,当SQL存储过程中的INSERT执行时,事务处于未提交状态。此时Query History不会实时展示未提交的DML结果;若后续事务触发回滚,这条INSERT的修改被完全撤销,自然无有效结果可显示。
  • 存储过程的封装性:SQL存储过程被JS存储过程调用时,内部DML的执行结果不会自动暴露到外层的Query History结果中——存储过程默认不会向外传递内部语句的结果集,除非主动配置返回逻辑。

调试替代方案

  • 给INSERT添加RETURNING子句,比如INSERT INTO table(col1, col2) VALUES(val1, val2) RETURNING *;,这样执行后会返回插入的行数据,Query History的Results标签就能显示内容。
  • 单独提取INSERT语句在测试环境直接执行,验证语句逻辑是否正确,同时查看Results结果。
  • 查看Query History的Details标签,里面会显示语句的执行状态、影响行数等信息,即使Results为空,也能判断INSERT是否成功执行。
  • 在JS存储过程中添加调试日志,比如打印INSERT的影响行数或关键字段值,辅助排查问题。

内容的提问来源于stack exchange,提问作者Teja Goud Kandula

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 21:12:32