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