如何为整个查询设置架构

时间:2019-03-26 13:41:57

标签: sql oracle

我正在使用具有多个架构(用户)的数据库-在SQL DEVELOPER(ORACLE)中

我想最初为查询设置一个架构,这样就不必在写入查询的每个表之前都包括架构名称。

正在寻找:

USE SCHEMA_NAME;
SELECT * FROM TABLE;

代替:

SELECT * FROM SCHEMA_NAME.TABLE;

1 个答案:

答案 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权限,我们将无法使用此技术获得提升访问权限。