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

如何从Snowflake查询历史表获取最近执行的存储过程并排查代码问题

问题原因

  • 过滤条件作用范围不匹配:子查询中筛选存储过程调用的QUERY_TEXT相关条件仅用于计算符合要求的最大时间,外层主查询没有添加相同过滤逻辑,会返回非存储过程调用的、end_time匹配该最大值的无关记录。
  • 未做单条限制:即便补全过滤条件,同一时间点若存在多条符合要求的存储过程调用记录,原有写法仍会返回多条,无法直接得到唯一的全局最晚记录。

修复代码

推荐直接使用单层查询完成需求,逻辑更简洁:

SELECT * 
FROM TABLE(INFORMATION_SCHEMA.query_history_by_session())
WHERE UPPER(QUERY_TEXT) LIKE 'CALL%' 
  AND UPPER(QUERY_TEXT) <> 'CALL "DB"."TK".GET_EXECUTION_ATTRIBUTES();'
ORDER BY END_TIME DESC
LIMIT 1;

如果需要保留子查询的写法,只需在外层补全对应的过滤条件即可:

SELECT * FROM TABLE(INFORMATION_SCHEMA.query_history_by_session())
WHERE UPPER(QUERY_TEXT) LIKE 'CALL%' 
  AND UPPER(QUERY_TEXT) <> 'CALL "DB"."TK".GET_EXECUTION_ATTRIBUTES();'
  AND end_time = (
    SELECT MAX(end_time) 
    FROM TABLE(INFORMATION_SCHEMA.query_history_by_session()) 
    WHERE UPPER(QUERY_TEXT) LIKE 'CALL%' 
      AND UPPER(QUERY_TEXT) <> 'CALL "DB"."TK".GET_EXECUTION_ATTRIBUTES();'
)
ORDER BY END_TIME DESC;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:18:03