0
我的Oracle 12c数据库中有一个用户从其他用户的表中选择列创建了多个视图。例如:Oracle数据库用户无法在其自己的视图中看到数据
CREATE OR REPLACE FORCE EDITIONABLE VIEW "MYSER"."VIEW1" (column1, column2, column3)
AS SELECT (column1, column2, column3)
FROM OTHERSCHEMA.TABLENAME;
现在运行
select count(1) from MYSER.VIEW1
为sys用户的时候,我可以看到所有的行的存在。但是,只要登录到MYSER模式并尝试运行相同的select count语句,我就会得到比总数更少的数字或行,或者根本没有行。 (做这几个相同的方式完成的视图时)
我对所有的OTHERUSER的表授予选择MYUSER
这个数据从另一个数据库导入。不知道这是否是可能导致问题的原因。
编辑:我也试着给予
Grant execute on DBMS_RLS to MYUSER;
思考,这可能是与表分区的问题。这个应用多年前编码的人可能会觉得很奇怪,因为我需要找出他们的安全级别或其他地方。
谢谢!
由于这是正确的,因为你已经指出无论哪种方式,(我已经试过两种方式),它仍然只显示两种0行,或者不是全部数量。没有where子句,所以它应该显示ALL行。 – kalebm3991