GRANT SELECT ON view TO user using script on SQL developer, than SELECT * FROM that view in SQL Plus

GRANT SELECT ON view TO user using script on SQL developer, than SELECT * FROM that view in SQL Plus

我在 SQL 开发者上的脚本:

**CREATE USER C##DG IDENTIFIED BY abc123;**

**CREATE VIEW DG1_VIEW**
AS SELECT m_pms.MaPMS, m_pms.MaDG, m_pms.SoLuong, m_s.MaSach, m_s.TenSach, m_ctpm.SL
FROM PhieuMuonSach m_pms, ChiTietPhieuMuon m_ctpm, Sach m_s
WHERE m_pms.MaDG = 1 AND m_pms.MaPMS = m_ctpm.Ma_PMS AND m_ctpm.Ma_Sach = m_s.MaSach**;**

**GRANT CREATE SESSION TO C##DG;
GRANT SELECT ON DG1_VIEW TO C##DG;**

在 Sql 另外,我以 C##DG 身份登录,键入 '''SQL> SELECT * FROM DG1_VIEW;''' 并收到 'ORA-00942: table or view does not exists'。但是这个视图已经有数据了。

我的问题是什么以及如何解决?我很想听听你们的意见。

您需要指定创建此视图的模式

select * from system.dg1_view;

或者您可以再次以系统身份登录并为该视图创建一个 public 同义词,以便在不指定模式的情况下使用它