我需要从 JSON 字符串数据创建动态视图
create or replace view schema.vw_tablename copy grants as
SELECT
v:Duration::int Duration,
v:Connectivity::string Connectivity
...
from public.tablename
这是其中一个表的一种手动视图,但我想以通用方式编码,以便我将传递具有 JSON 数据的表名,并将创建视图并将输出为表格格式。
如果您希望在雪花中创建由数据驱动的视图(与使用工具创建视图客户端相比,我们在公司中这样做),我认为您只希望存储过程。在详细的使用文档中,它提醒您DDL操作提交当前事务(记住这一点总是很好的),但也暗示您可以执行DDL,这就是您所要求的内容。这意味着您应该能够编写一些 javascript,根据传递给它的数据构建您想要的create view
命令。
有一个不错的 2 部分博客来处理此要求。与Simeon Pilgrim的回答中提到的类似,该博客也使用存储过程来生成视图。尽管它使用 Snowflake SQL 这样做。
https://www.snowflake.com/blog/automating-snowflakes-semi-structured-json-data-handling/
https://www.snowflake.com/blog/automating-snowflakes-semi-structured-json-data-handling-part-2/