大家好.所以,我以dba帐户登录,我想在User1的架构中创建一个视图,但是从User2中选择数据.
我使用了以下查询:
CREATE OR REPLACE VIEW User1.NewView (Column1) AS SELECT DISTINCT Column1 FROM User2.Table
我收到以下错误:
sql Error: ORA-00942: table or view does not exist 00942. 00000 - "table or view does not exist" *Cause: *Action:
要解决这个问题,我必须在User2.Table上授予对User1的select访问权限.有没有办法在不必授予访问权限的情况下执行此操作,因为我已经以dba身份登录了?多谢你们!
解决方法
是的,您(并且应该始终)明确授予对另一个模式中对象的访问权限.
GRANT SELECT ON user2.table TO user1
虽然您以“dba帐户”(SYS,我假设)登录,但CREATE语句专门针对user1架构.