Sql 查询雪花模式中的所有表

Sql 查询雪花模式中的所有表,sql,snowflake-cloud-data-platform,Sql,Snowflake Cloud Data Platform,由于数据库的存储方式,我们为产品生命周期内发生的每个重大事件提供了表: 后天的 出售 交付 我需要在任何给定的时间浏览并找到产品的状态。为此,我需要查询模式中的所有表,并找到包含最新记录的记录。我知道这是可能的,通过合并所有表,然后找到最大时间戳,但我想知道是否有更优雅的解决方案 是否可以仅通过查询根架构或数据库来查询所有表?有没有办法循环模式中的所有表并将其替换到FROM子句中 感谢您的帮助 谢谢,您可以编写一个存储过程,但是,在我看来,只有在表列表定期更改的情况下,这样做才是值得的(而且

由于数据库的存储方式,我们为产品生命周期内发生的每个重大事件提供了表:

  • 后天的
  • 出售
  • 交付
我需要在任何给定的时间浏览并找到产品的状态。为此,我需要查询模式中的所有表,并找到包含最新记录的记录。我知道这是可能的,通过合并所有表,然后找到最大时间戳,但我想知道是否有更优雅的解决方案

是否可以仅通过查询根架构或数据库来查询所有表?有没有办法循环模式中的所有表并将其替换到FROM子句中

感谢您的帮助


谢谢,您可以编写一个存储过程,但是,在我看来,只有在表列表定期更改的情况下,这样做才是值得的(而且更加优雅)。 如果表列表相对固定,那么创建UNION语句可能是最优雅的解决方案,而且创建起来也相对简单——如果您计划定期使用它,那么只需将其创建为视图即可


我处理此类问题(为多个表创建相同的SQL)的方法是将表列表转储到Excel中,使用函数为第一个表生成SQL语句,为所有表名向下复制此函数,然后将所有这些语句连接到最后一个函数中。然后,您可以将此文本粘贴回SQL编辑器中

是的,我创建了一个UNION语句来执行此任务并获取最大时间戳。表可能会定期更改,因此我将研究一个存储过程。谢谢你回复我!我支持这一点——我还通过将Excel单元格与函数连接起来为多个表创建语句,做了完全相同的事情:)