是否可以一次获取几个表的列?

问题描述

我对获取数据库中每个表的结构感兴趣。 目前,我正在使用:DESCRIBE TABLE table1。 但是,这意味着我必须对每个表进行单独的查询。想知道是否存在一个查询,我可以一次获取多个表的结构(从而为我节省一些查询)吗?

谢谢, 尼尔。

解决方法

您可以使用“帐户使用情况/信息架构”视图“ COLUMNS”

https://docs.snowflake.com/en/sql-reference/account-usage/columns.html

以下文章与使用COLUMNS视图创建select语句的示例略有不同,但应该可以给您一个思路

https://community.snowflake.com/s/article/Select-columns-based-on-condition-in-Snowflake-using-Information-Schema-and-Stored-Procedure

,

您有两种选择:

  1. 您可以在信息模式中使用COLUMNS视图

https://docs.snowflake.com/en/sql-reference/info-schema/columns.html

注意:该视图仅显示已被授予会话当前角色访问权限的对象。

  1. 您可以在account_usage共享模式中使用COLUMNS视图:

https://docs.snowflake.com/en/sql-reference/account-usage/columns.html

注意:这将显示所有表中的所有列,还将显示已删除的对象等。 另请注意,数据存在延迟(延迟可能长达90分钟,通常不是)

我希望这可以帮助...丰富

p.s。如果这个(或另一个)答案对您有帮助,请花点时间“接受”对您有帮助的答案

,

Nir,请查看以下链接。在这里回答您的问题

How to retrieve all the catalog names,schema names and the table names in a database like snowflake or any such database?