OBJECT_DEPENDENCIES 视图¶
此 Account Usage 视图为每个对象依赖关系显示一行。
例如,当从单个表创建视图时,视图依赖于该表。Snowflake 返回一行,以记录视图对表的依赖关系。
但是,如果创建视图操作依赖于两个表,则 Snowflake 将返回一行用以记录视图对第一个表的依赖关系,并另外返回一行用以记录视图对第二个表的依赖关系。无论给定对象有多少依赖关系,此模式都会继续存在。
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
REFERENCED_DATABASE |
TEXT |
已引用对象的父数据库。 |
REFERENCED_SCHEMA |
TEXT |
已引用对象的父架构。 |
REFERENCED_OBJECT_NAME |
TEXT |
已引用对象的名称。 |
REFERENCED_OBJECT_ID |
NUMBER |
已引用对象的对象 ID。 |
REFERENCED_OBJECT_DOMAIN |
TEXT |
已引用对象的域(例如 |
REFERENCING_DATABASE |
TEXT |
引用对象的父数据库。 |
REFERENCING_SCHEMA |
TEXT |
引用对象的父架构。 |
REFERENCING_OBJECT_NAME |
TEXT |
引用对象的名称。 |
REFERENCING_OBJECT_ID |
NUMBER |
引用对象的对象 ID。 |
REFERENCING_OBJECT_DOMAIN |
TEXT |
引用对象的域(例如 |
DEPENDENCY_TYPE |
TEXT |
依赖关系的类型( |
一般使用说明¶
此视图的延迟时间可能长达 3 小时。
有关受支持对象及其依赖关系类型的完整列表,请参阅 支持的对象依赖关系。
此视图已于 2022 年 1 月 22 日回填,以包含在该视图提供使用前的依赖关系。在此日期之后,Snowflake 将继续记录依赖关系。
请注意,如果视图或 UDF 由于在此日期之前缺少依赖关系而无效,并且随后修复了缺少的依赖关系,则 Snowflake 不会记录视图或 UDF 的依赖关系。
例如,如果您在 2021 年 12 月 1 日创建了一个依赖于表的视图,并在同一天删除了该表,然后在 2022 年 2 月 1 日取消删除该表,则 Snowflake 不会记录依赖于该表的视图。
解决方法是创建或替换视图或 UDF,以便此视图记录依赖关系。
有关此视图的限制以及此视图与其他 Snowflake 功能和对象的关系的详细信息,请参阅:
数据共享使用说明¶
- 一般注意事项:
此视图更新假定未删除共享。
此视图架构(即列名称、数据类型和值)在以下情况保持不变:
对于共享对象,使用者账户中 REFERENCED_OBJECT_ID 列的值始终为 NULL。
此值可防止客户发现提供商账户中的源对象。
对于所有类似表的对象,REFERENCED_OBJECT_DOMAIN 值为
TABLE
。
- Snowflake 对象:
现在支持将共享对象(如 Account Usage 视图)作为已引用对象。
例如,如果用户定义的视图依赖于另一个 Account Usage 视图(如 LOGIN_HISTORY)的数据,则使用者账户中的 OBJECT_DEPENDENCIES 视图会将 LOGIN_HISTORY 视图指定为已引用对象。
- 重命名注释:
提供商重命名共享数据库、共享架构或共享对象时:
使用者 OBJECT_DEPENDENCIES 视图记录显示重命名之前数据库、架构或对象的 原始 名称的记录,而不是重命名后对象的记录。
新重命名的共享对象不会显示于使用者 OBJECT_DEPENDENCIES 视图,以防止使用者确定提供商账户中的对象生命周期。新的引用对象需要引用新重命名的对象,以便重命名的对象显示于使用者账户的本地 OBJECT_DEPENDENCIES 视图。
重命名共享数据库将保留使用者账户中的依赖关系。
重命名共享架构或共享架构中的共享对象会中断使用者账户中的依赖关系。
如果使用者重命名共享数据库,则该数据库上的所有现有依赖关系都会中断。因此,Snowflake 会从使用者账户中的 OBJECT_DEPENDENCIES 视图移除相应的记录。
例如,共享数据库包含一个名为
db1_shared.views.view_1_shared
的视图。使用者将共享数据库重命名为mydb
。该视图现在具有完全限定的名称mydb.views.view_1_shared
。Snowflake 移除了在使用者 OBJECT_DEPENDENCIES 视图中指定db1_shared.views.view_1_shared
的行,因为对名为db1_shared
的数据库的依赖关系已中断。- 不支持:
对于已引用对象,不支持
BY_ID
依赖关系类型。