首页 > 解决方案 > 如何在 Snowflake 中连接来自不同数据库的表?

问题描述

简而言之,我知道如何从同一个数据库连接不同的 SQL 表,但是如何将跨数据库连接到 CREATE OR REPLACE VIEW?这真的很有帮助,因为我相信其他人也会有同样的问题。谢谢。

标签: sqlsnowflake-cloud-data-platform

解决方案


如果数据库位于相同的服务器上,那么如果您已授予对该数据库的权限,则可以通过该数据库名称从数据库访问另一个数据库。

从另一个数据库访问对象的语法非常简单databasename.schema.object_name

如果数据库名称是 database1,架构名称是 sch,并且您尝试访问的表是 table1,那么它将是

select * from database1.sch.table1

这是在 database3 上创建的视图,它结合了 database1、database2 和 database3 中的表。

create secure view database3.sch.view3 as
select view1.id as view1id, table2.id as table2id, table3.id as table3id
from database1.sch.view1 view1,
     database2.sch.table2 table2,
     database3.sch.table3 table3;

请查看此文档以获得进一步说明。

共享来自多个数据库的数据


推荐阅读