【发布时间】:2021-08-18 21:10:00
【问题描述】:
我正在尝试创建一个安全视图,添加到我的共享中,以便读者帐户可以访问它。
我的示例代码如下:
USE ROLE accountadmin;
create share DEV_SHARE1;
grant usage on database dev_infomart_db to share DEV_SHARE1;
grant usage on schema dev_infomart_db.sch to share DEV_SHARE1;
ALTER SHARE DEV_SHARE1 ADD ACCOUNTS = XXXXXX;
grant reference_usage on database DEV_EDW_DB to share DEV_SHARE1;
GRANT SELECT ON VIEW dev_infomart_db.sch.view1 TO SHARE DEV_SHARE1;
此视图 dev_infomart_db.sch.view1 指的是数据库 DEV_EDW_DB 中存在的表/视图。
我从雪花中引用了这个文档来共享来自多个数据库的数据。 https://docs.snowflake.com/en/user-guide/data-sharing-mutiple-db.html
我已按照上面链接中提供的步骤进行操作。在分享我的观点时,我仍然遇到错误:
SQL 错误 [3056] [0A000]:SQL 编译错误: 共享的视图或函数不能引用其他数据库中的对象。
任何帮助将不胜感激。
【问题讨论】:
-
请将视图定义(完整的 CREATE VIEW 语句)添加到您的问题中
-
dev_edw_db中的这些视图是否引用了另一个数据库中的表?
标签: snowflake-cloud-data-platform