如何允许用户查看表或视图的子集

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何允许用户查看表或视图的子集相关的知识,希望对你有一定的参考价值。

我在一个私有模式中有一个视图,其中有几个让我们说是company_id。对于一个特殊用例,我想让一家公司看到这个表的一个子集(对于它自己的数据)。所以我创建了一个角色和一个架构'company_123',我在这个架构中创建了一个视图

create view company_123.transactions_v as 
  select * from business.all_transactions_v
   where company_id = 123;

但不幸的是,由于用户'company_123'在原始视图上没有选择权,因此该视图为空。我怎么能达到这个要求?

答案

您必须向表上的用户授予SELECT权限。

您可以将可见的rowscolumns切片给用户,但您应该能够解决您的问题。

以上是关于如何允许用户查看表或视图的子集的主要内容,如果未能解决你的问题,请参考以下文章

用户访问数据库的权限有哪几种?

oracle 赋予权限后,查询却显示表或视图不存在

SQL server设置用户只能访问特定数据库访问特定表或视图

oracle用imp导入用户数据时,提示表或视图不存在

MySql操作「数据查询」-20211222

Spark AnalysisException 未找到全局表或视图