You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SQL查询Snowflake中特定视图的创建源表及关联属性

Snowflake查询特定视图源表及关联属性解决方案

你之前尝试的查询仅能拉取视图的创建脚本,无法直接解析出依赖的源表信息,使用Snowflake系统自带的OBJECT_DEPENDENCIES系统视图可以直接获取视图的依赖对象数据,具体方案如下:

单视图源表及属性查询语句

该语句可以直接返回指定视图关联的所有源表信息,以及源表的字段属性:

SELECT 
    -- 源表基础信息
    referenced_database_name AS source_database,
    referenced_schema_name AS source_schema,
    referenced_object_name AS source_table_name,
    referenced_object_type AS source_object_type,
    -- 源表字段属性
    c.column_name,
    c.data_type,
    c.is_nullable,
    c.comment AS column_comment,
    t.comment AS table_comment
FROM 
    INFORMATION_SCHEMA.OBJECT_DEPENDENCIES od
LEFT JOIN 
    INFORMATION_SCHEMA.TABLES t
    ON od.referenced_database_name = t.table_catalog
    AND od.referenced_schema_name = t.table_schema
    AND od.referenced_object_name = t.table_name
LEFT JOIN 
    INFORMATION_SCHEMA.COLUMNS c 
    ON od.referenced_database_name = c.table_catalog
    AND od.referenced_schema_name = c.table_schema
    AND od.referenced_object_name = c.table_name
WHERE 
    referencing_object_type = 'VIEW'
    -- 替换为你的目标视图信息
    AND referencing_database_name = 'YOUR_DATABASE'
    AND referencing_schema_name = 'YOUR_SCHEMA'
    AND referencing_object_name = 'YOUR_VIEW_NAME';

使用注意事项

  • 执行查询的账号需要拥有目标视图、对应源表的元数据访问权限,否则会返回空结果
  • 支持查询跨库、跨模式创建的视图依赖,所有关联的源表都会被枚举出来
  • 不需要查询字段属性的话,可以删除SQL中关联COLUMNS、TABLES的部分,只保留OBJECT_DEPENDENCIES的查询逻辑即可

补充:获取视图完整创建脚本

如果需要同步查看视图的原始创建SQL,可以使用如下查询:

SELECT view_definition
FROM INFORMATION_SCHEMA.VIEWS
WHERE 
    table_catalog = 'YOUR_DATABASE'
    AND table_schema = 'YOUR_SCHEMA'
    AND table_name = 'YOUR_VIEW_NAME';

内容的提问来源于stack exchange,提问作者Kishor Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 20:36:04