在SQL中编写雪花脚本--如何迭代show命令的结果?

人气:543 发布:2022-10-16 标签: scripting sql snowflake-cloud-data-platform

问题描述

我正在检查新的SQL Snowflake脚本(在预览中),但我不知道如何迭代SHOW命令的结果-特别是在某些列大小写较小的情况下。

https://docs.snowflake.com/en/developer-guide/snowflake-scripting/ https://hoffa.medium.com/sql-scripting-live-in-snowflake-288ef8c272fa

推荐答案

您可以使用此示例作为模板迭代SHOW的结果:

declare
  res RESULTSET default (show warehouses);
  vw_cursor CURSOR for res;
  vw_table RESULTSET ;
begin
  for vw in vw_cursor do
    vw_table := (execute immediate 'show parameters like ' || '''STATEMENT_TIMEOUT_IN_SECONDS''' || ' in warehouse ' || vw."name");
    return TABLE(vw_table) ;
  end for;
end;

首先,请注意,您可以从declare部分的show获取resultset,这使您的工作变得轻松。

然后,您可以使用for vw in vw_cursor do将游标移至每一行。

然后您可以execute immediate其他查询,但请确保使用"引用以获得与vw."name"类似的小写列。

862