sql – Oracle Create View问题

大家好.所以,我以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架构.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...