所以我需要做一個映射從僱員表(idEmployee,名稱等..)到一個真實的用戶與一個帳戶創建。我決定增加一個表Mapping_Employee_User(idEmployee,用戶名)像下面甲骨文&參考ALL_USERS(USERNAME)
CREATE TABLE Mapping_Employee_User(
idEmployee NUMBER(6)
CONSTRAINT FK_Mapping_Employee_User1 REFERENCES Employee (idEmployee),
userName VARCHAR2(30 BYTE)
CONSTRAINT FK_Mapping_Employee_User2 REFERENCES ALL_USERS(USERNAME),
CONSTRAINT PK_Mapping_Employee_User PRIMARY KEY (idEmployee, userName)
);
但我得到一個「ORA01031權限不足原因:試圖改變當前用戶名或密碼......」但是,我其實並沒有這樣做,我只想提一個參考。
作爲一個說明:我有這個用戶完全權限
登錄爲SYS我可以看到實際的表被命名爲「USER $」,我找不到表ALL_USERS ......反正我該怎麼辦這種參考?
我已經改變了一條線,現在得到一個小錯誤:約束約束FK_Mapping_Employee_User2參考文獻SYS.USER $(NAME)。現在它只是說表不存在,但這個選擇工作得很好:SELECT NAME FROM SYS.USER $ ...那麼是什麼?我如何跳過這一個? –
@IftimieVlad:文檔說你根本不應該觸摸SYS.USER $。我懷疑有沒有解決這個錯誤的方法。至少不是一種足夠理智的方式來思考(我的意思是,只要你用數據字典混淆,也許你可以找到如何存儲約束並直接插入它,但不這樣做)。 – derobert
是的,你是對的...我決定使用沒有引用部分的表格。 –