2010-06-16 29 views
1

我運行這個SQL:我不能用sqlplus(權限不足)在Oracle中創建數據庫視圖

CREATE VIEW 
showMembersInfo(MemberID,Fname,Lname,Address,DOB,Telephone,NIC,Email,WorkplaceID,WorkName,WorkAddress,WorkTelephone,StartingDate,ExpiryDate,Amount,WitnessID,WitName,WitAddress,WitNIC,WitEmail,WitTelephone) 
AS SELECT 
mem.MemberID,mem.FirstName,mem.LastName,mem.Address,mem.DOB,mem.Telephone,mem.NIC,mem.Email, 
wrk.WorkPlaceID,wrk.Name,wrk.Address,wrk.Telephone, 
anl.StartingDate,anl.ExpiryDate,anl.Amount, 
wit.WitnessID,wit.Name,wit.Address,wit.NIC,wit.Email,wit.Telephone 
FROM Member mem, WorkPlace wrk, AnnualFees anl, Witness wit 
WHERE mem.MemberID = anl.MemberID AND mem.WorkPlaceID = work.WorkPlaceID AND mem.WitnessID = wit.WitnessID 

當我嘗試創建我得到這個錯誤的觀點:

ERROR at line 1:
ORA-01031: insufficient privileges

這是爲什麼?我登錄使用SYSMAN

+1

爲什麼你首先在'SYSMAN'的模式中創建視圖?您應該在單獨的模式中創建應用程序對象。 – 2010-06-17 01:37:00

回答

1

確保SYSMAN在授予每個表的SELECT權限FROM子句直接,不通過角色。見CREATE VIEW prerequisites

+0

寫了它。 sysman應該授予創建視圖的權限..感謝所有回覆的人 – Nubkadiya 2010-06-16 15:42:52

0

嘗試登錄SYS或SYSADM中的sqlplus

查看oracle用戶here

+0

我havnt把sysdba的任何密碼,但可以有人建議我找到sysdba的密碼 – Nubkadiya 2010-06-16 14:53:50

+0

@Nubkadiya:你不應該需要sysdba來做到這一點。獲得授予sysman用戶的正確權限(如果這是適當的用戶)。你寫的語句將在SYSMAN模式中創​​建視圖! – DCookie 2010-06-16 15:00:31

+0

如何檢查用戶的權限以及如何更改。有人可以指導我。 – Nubkadiya 2010-06-16 15:10:15