[英]Oracle SQL Developer Query Connect as Other User
我正在通過一個新的 sql 文件設計一個新數據庫。 我正在使用 Oracle SQL Developer 並以 sysdba 身份登錄。
我想知道 SQL 開發人員是否支持或具有等效命令
connect scott/tiger;
先感謝您。
編輯
我正在嘗試在引用 Schema B 表的 Schema A 表上創建外鍵。
顯示的錯誤是
[Err] ORA-00942: 表或視圖不存在
因此,我想以“Schema B”身份登錄,將所有權限授予 SYS 用戶,再次以 sys 身份登錄並創建關系。
希望這次我更清楚。
我相信您需要斷開並重新建立與數據庫/服務的連接,以便在 SQL Developer 中以其他用戶身份登錄。
但是,如果您只是想在SCOTT
用戶的名稱空間中(以便CREATE TABLE EMP...
執行為CREATE TABLE SCOTT.EMP...
,您可以發出
alter session set current_schema = SCOTT;
作為用戶 SYS,您應該能夠通過簡單地在 object 名稱前加上架構所有者來創建所需的關系,如前所述:
ALTR TABLE foo.t1 ADD FOREIGN KEY (col) REFERENCES bar.t2(ID);
也就是說,您還必須向用戶 foo 授予 REFERENCES 權限才能建立這種關系:
GRANT REFERENCES ON bar.t2 TO foo;
用戶 SYS 應該能夠做到這一切。 這是否是一個好習慣是另一個問題。
另請記住,如果您嘗試為不同模式中的表創建 FK 並且沒有任何同義詞,則必須完全限定名稱:
例如,作為用戶 SCHEMA_A:
ALTER TABLE SCHEMA_A.TABLE_A
add CONSTRAINT fk_TABLE_B
FOREIGN KEY (COLUMN_A)
REFERENCES SCHEMA_B.TABLE_B(COLUMN_B);
您提到使用 SYS 用戶 - 我希望您沒有登錄 SYS 進行正常開發......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.