我使用的是Oracle 11g,并且我理解第三方授予的问题。
但是,假设user1创建了一个视图“ view1”作为从double中选择'foo'。
然后,我将view1的Select授予user2,并且出现此错误。
但是请注意,视图中的“双”不符合sys.dual的条件,只是双重的。我想用同义词public.dual来考虑,实际使用的“ dual”将是public.dual,而不是sys.dual,因此不应存在第三者问题,因为它是公共的。
而且,如果sys.dual是Oracle在此视图中假设的模式,则人们会认为,鉴于在视图中使用double是常见的,并且将视图特权授予其他用户也很常见-不会有成千上万的用户在报告这个问题?
我确实看到零星的帖子,但是没有真正的解决方案,只是为创建视图的用户创建了另一个double副本,但这对我来说没有意义。谢谢你的帮助。