Oracle的USE database_name命令替代方案

时间:2013-10-21 06:24:42

标签: sql oracle

的替代方案是什么?
use database_name

oracle中SQL服务器的命令?

1 个答案:

答案 0 :(得分:2)

替代方案是alter session声明:

alter session set current_schema=<<schema_name>>

其中一个主要区别是,例如,当select语句中省略限定符时,它只会更改模式限定符。例如,如果您以user1身份登录并执行上述alter session语句,将user2指定为current_schema,则user2将用作架构限定符,而不是{{1} }}。与SQL Server的user1语句不同,Oracle的原始会话将保留其权限,并且在执行use语句后不会获取新的权限。

为了能够从alter session架构中的表中选择(例如),user2必须有user1该表或select on特权。对于任何其他对象也是如此,如果没有对该对象进行操作的权限,则引用该对象的语句将失败。