小弟出学oracle 遇到一点小问题,请教高手们……ALTER SESSION SET CURRENT_SCHEMA = usera;
CREATE OR REPLACE VIEW someview AS SELECT * FROM userb.sometable;
上面的语句在userb.sometable提示错误:表或视图不存在但是执行
ALTER SESSION SET CURRENT_SCHEMA = usera;
SELECT * FROM userb.sometable;
却没有错误
CREATE OR REPLACE VIEW someview AS SELECT * FROM userb.sometable;
上面的语句在userb.sometable提示错误:表或视图不存在但是执行
ALTER SESSION SET CURRENT_SCHEMA = usera;
SELECT * FROM userb.sometable;
却没有错误
解决方案 »
- 项目频繁操作oracle10g,导致读写oracle很慢!!!
- 请问Oracle的FROM后面两种写法有什么区别?
- oracle jpg图片存储4k限制
- 求用VB连接ORACLE的代码,要求能执行SELECT,UPDATE,DELETE
- 新手装10g的时候网络需求配置未监测,结果登陆时tns-12560,服务里面也没有oracle
- 新年好!请教Linux下OCI的动态库及其头文件的位置!
- 关于类型的一个小问题
- 帮我想个PROCEDURE的算法
- 求助,一句update sql语句。
- Oracle 11g rac 安装问题
- SQL语句中怎么把列的值横向显示,因为列的值是动态的.
- 求一语句 数字转字符型
执行下面的语句:
GRANT SELECT ON userb.sometable TO usera;
不是说alter session不会改变当前用户的权限吗?
alter session 是不会改变当前用户的权限啊。关键是你当前用户usera没有create view的权限啊!
但现在是你的usera没有权限访问userb.sometable啊。
你单独执行SQL语句的时候用户还是userb
这个用户有查询userb.sometable的权限
然后在这个用户下执行alter session SET CURRENT_SCHEMA = usera;
但是提示本该是权限不足
这么会是表或视图不存在
要把select userb.sometable的权限给usera才行
看来alter session并不是那么简单啊……
16:58:45 scott@TUNGKONG> create user usera identified by a;用户已创建。已用时间: 00: 00: 00.01
16:59:06 scott@TUNGKONG> create user userb identified by b;用户已创建。已用时间: 00: 00: 00.00
16:59:12 scott@TUNGKONG> grant dba to usera,userb;授权成功。 ---------------dba权限够大了吧已用时间: 00: 00: 00.03
16:59:45 usera@TUNGKONG> conn userb/b@tungkong
已连接。GLOBAL_NAME
----------------------------------------------------------------------------------------------------
userb@TUNGKONG已用时间: 00: 00: 00.00
16:59:56 userb@TUNGKONG> create table sometable(id int);表已创建。已用时间: 00: 00: 00.00
17:00:23 userb@TUNGKONG> alter session set current_schema = usera;会话已更改。已用时间: 00: 00: 00.00
17:00:35 userb@TUNGKONG> show user;
USER 为 "USERB"
17:00:39 userb@TUNGKONG> select * from userb.sometable;未选定行已用时间: 00: 00: 00.00
17:01:58 userb@TUNGKONG> create or replace view someview as select * from userb.sometable;
create or replace view someview as select * from userb.sometable
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
已用时间: 00: 00: 00.00
17:02:28 userb@TUNGKONG> grant select on userb.sometable to usera;授权成功。已用时间: 00: 00: 00.01
17:02:35 userb@TUNGKONG> create or replace view someview as select * from userb.sometable;视图已创建。已用时间: 00: 00: 00.01
17:02:45 userb@TUNGKONG> drop view someview;视图已删除。已用时间: 00: 00: 00.01