簡體   English   中英

Oracle SQL 開發者查詢 以其他用戶身份連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM