繁体   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