美文网首页
Oracle数据库临时修改当前Session的Schema

Oracle数据库临时修改当前Session的Schema

作者: 刘有劲 | 来源:发表于2021-08-13 19:55 被阅读0次

打开这篇文章,默认你已了解Oracle数据库的下述特性:

Oracle数据库中的表都是从属于Schema的,在我们执行SQL语句时,如果连接当前Session的User与目标表从属的Schema不同,则必须使用Schema.Table的方式访问目标表。(当然,也可以搞同义词)

那么,修改当前Session的Schema,适用于什么场景呢?

通常情况下,SQL语句中,都使用Schema.Table的方式书写是一个好习惯,只是有时我们需要执行其他人提供的SQL脚本,其中大量的FROM都没带Schema,而我们恰好又只有数据库只读账号,无法通过该表从属的User连接数据库。一执行,必然是要报错的。

ORA-00942: 表或视图不存在

现在咋办,总不能一个一个改吧,代码量那么大,这时,下面的语句就可以帮到你了。

ALTER SESSION SET CURRENT_SCHEMA = schema_name

这个语句的功能,就是在不更换连接数据库的User的情况下,将当前Session的Schema变更为目标表从属的Schema,这样,代码就可以正常执行了。

相关文章

网友评论

      本文标题:Oracle数据库临时修改当前Session的Schema

      本文链接:https://www.haomeiwen.com/subject/cvzdbltx.html