具体情况是这样的:
我在oracle中有一个普通用户(normal)的的用户帐号,可以创建表,对表进行删除修改
但是在我创建视图的时候提示 权限不够
当然,如果我创建的视图中所用的表是自己创建的话,是可以创建成功的
但是如果我创建的视图中所用的表是别的用户所创建的话,就创建不了,提示权限不够
我使用的是pl/sql dev
请问大家这个问题该怎么解决.
我在oracle中有一个普通用户(normal)的的用户帐号,可以创建表,对表进行删除修改
但是在我创建视图的时候提示 权限不够
当然,如果我创建的视图中所用的表是自己创建的话,是可以创建成功的
但是如果我创建的视图中所用的表是别的用户所创建的话,就创建不了,提示权限不够
我使用的是pl/sql dev
请问大家这个问题该怎么解决.
解决方案 »
- 关于case分支中使用COMMIT出现的问题
- 使用for update更新删除一个字段中的值出现触发器出错
- ------请教远程访问数据库问题--------------
- 安装了Oracle 8.1.7后电脑开机很慢
- oracle 中图片保存问题!
- 用java开发软件,可是就是连接不上安装在本机内的oracle数据库,总是抛出异常,请详阅!!!!急急急急!!!!!!
- 存储过程里面不可以用create table语句吗?我怎样才能动态建表?急....
- 关于INSERT INTO语句的问题
- 关于oracle9i
- 急救 出现1113错误 提示文件8需要媒体恢复
- 请教一个oracle生产环境下监听的问题!
- sql server 过程转化成oralce 过程
1、对象权限
连接到otherusr,执行grant select on othertab to myusr;
2、系统权限
连接到system或sys,执行grant create view to myusr;
这样myusr下就可以对otherusr.othertab创建视图了。
连接到otherusr 是怎么操作? 是指用otherusr的用户名来登录么? 请问是不是需要SYSDBA来执赋权限?grant select on othertab to myusr;这里othertab 是什么意思?我需要把别的用户的表明全部指定出来?那么别的用户好多表,我可能都要用到,那我不是要运行好多个此语句?
可能是由于你没有另外对象的访问权限。你可以直接通过select * from otherusername.tablename; 这样的形式来访问不是你创建的表么,如果不行,你这个view当然是不能创建成功的。以那个建表的用户登录进行,把你需要查看的表的权限grant给你就可以了grant select on tablename to username;