我正在使用具有多个架构(用户)的数据库-在SQL DEVELOPER(ORACLE)中
我想最初为查询设置一个架构,这样就不必在写入查询的每个表之前都包括架构名称。
正在寻找:
USE SCHEMA_NAME;
SELECT * FROM TABLE;
代替:
SELECT * FROM SCHEMA_NAME.TABLE;
答案 0 :(得分:5)
我们可以使用alter session
设置不同的默认架构:
alter session set current_schema = SCOTT;
这意味着我们可以在SCOTT模式中引用对象,而无需在它们之前加上SCOTT。也就是说,除了scott.emp
,我们可以:
select * from emp;
请注意,我们现在需要在我们自己的架构中为对象添加前缀:
select * from my.table_1;
此外,在不清楚的情况下,设置current_schema
不会赋予任何特权:如果SCOTT尚未向我们授予EMP上的INSERT或SALGRADE上的SELECT权限,我们将无法使用此技术获得提升访问权限。