雪花中Teradata的dbc.tables和dbc. -columns有什么等效的吗?

发布于 2025-02-09 12:07:43 字数 154 浏览 1 评论 0 原文

在Teradata中,我们现在有一个查询,可以为特定数据库提供表名和列名的列表,例如:

select * from dbc.tables where databasename in ('A','B','C')

此雪花是否有等效的?

In Teradata we right now have a query which gives the list of table names and column names for specific databases like:

select * from dbc.tables where databasename in ('A','B','C')

Is there an equivalent for this Snowflake?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

拥有 2025-02-16 12:07:43

Information_schema在每个数据库下,如果要在多个数据库中获取表,则可以使用

coundy_usage.tables.table
counch_usage.colums

/sql-reference/account-usage/tables.html

INFORMATION_SCHEMA is under each database, if you want to get tables across multiple databases, then you can use

ACCOUNT_USAGE.TABLES
ACCOUNT_USAGE.COLUMS

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

小苏打饼 2025-02-16 12:07:43

最接近:

select * from dbc.tables where databasename in ('A','B','C')

IS:

SELECT * 
FROM SNOWFLAKE.ACCOUNT_USAGE.COLUMNS
WHERE DELETED IS NULL
  AND TABLE_CATALOG IN ('A', 'B', 'C')

Account_usage包含掉落的对象的最接近的对象,因此仅添加了一个过滤器条件已删除的一个null

还值得注意的是,视图具有延迟(对于最多90分钟的列和表)。

The closest equivalent of:

select * from dbc.tables where databasename in ('A','B','C')

is:

SELECT * 
FROM SNOWFLAKE.ACCOUNT_USAGE.COLUMNS
WHERE DELETED IS NULL
  AND TABLE_CATALOG IN ('A', 'B', 'C')

Account_usage contains dropped objects so to get only current one filter condition DELETED IS NULL was added.

It is also worth noting that ACCOUNT_USAGE views have latency (for columns and tables up to 90 minutes).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文