oracle中同一个实例里面的两个用户,从另外一个用户的表里面取数据做视图怎么做?权限不足?

如题所述

比如 用户B  要 访问用户A 的表:

 

    用system登录,将用户A的表授权给public或者 B

    grant select on  A.table1 to public;

    grant select on A.table to B;

    或者用A登录,将表的select授权给public或者B

     

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-18

假设b要访问a的表并且建立视图,可以有两种方法:

    将所要用到的a的表的select权限赋给b,再建立视图

    在a上建立好视图,并把视图的select权限给b,如果想要访问方便,可以建synonym

oracle中同一个实例里面的两个用户,从另外一个用户的表里面取数据做视图...
用system登录,将用户A的表授权给public或者 B grant select on A.table1 to public;grant select on A.table to B;或者用A登录,将表的select授权给public或者B

oracle里怎么同时取出一个表里的数据和另一个表里面的数据
需要用关联查询。如有以下两张表,其中两表的deptno是关联字段。现要求查出每个人对应的dname,可用如下语句:select a.ename,b.dname from emp a,dept b where a.deptno=b.deptno;查询结果:

如何在oracle数据库中创建视图并分配权限?
首先,创建视图以集成所需数据。以员工表 EMPLOYEE 和部门表 DEPARTMENT 为例,SQL 语句如下:sql CREATE VIEW AdministratorView AS SELECT EMPLOYEE.*, DEPARTMENT.department_name FROM EMPLOYEE JOIN DEPARTMENT ON EMPLOYEE.department_id = DEPARTMENT.department_id WHERE EMPLOYEE.salary > 5000;此视图...

在ORCL数据库中如何实现不同用户间表的同步
方法1:首先在用户2中设置用户1可以访问用户2中一个或者多个的表的权限,数据同步应该需要all权限,使用grant语句就可以做到。然后在用户1中增加触发器就可以实现数据同步(方法较为简单,这种情况适合用户1和用户2在同一台服务器上)方法2:与方法1一样,设置权限,在用户1中写存储过程,通过事务控制,...

oracle中不同用户下多张表是否可以创建一个视图
可以啊 比如你有 A B两个用户 A下有表aa ,B下有表bb 你只要在A中 grant select on aa to B;(还可以配置insert,update,delete权限)这样就能在B中创建视图访问到A中的aa表了,但是表名要A.aa,要是只想写aa的话,需要在B下创建同义词:create synonym B.aa for A.aa;这样B就可以像...

如何在oracle的存储过程中处理另外一个数据库中的表
1,同一实例下不同用户,直接使用,例如, B用户查询A 。select * from A.表,要在A用户中授权给B用户 2,不同实例或者服务器,使用DBlink 进行操作,DBlink 自己配置,自己指定IP 、实例、用户

oracle关于同一表空间下的不同用户查询问题
1.你概念没对,不是在表空间上建用户,而是允许用户使用哪个表空间。2.你权限没弄对,DBA是最高权限,已经包括connect了。有了DBA权限,整个数据库你就随便搞了。3.想查询就通过通过select from lis.table1来查询。不想总是写一个lis.就建立同义词。4.你都有dba权限了,可以建public同义词。这样...

oracle中在同一个数据库里面用户A如何访问用户B建立的表啊?
userA要有访问userB下表的权限 首先登陆管理员用户 \/as sysdba SQL> grant select on userA.test1 to userB;授权成功。这样 conn userB\/pwd SQL> select * from userA.test1; --主要表名前一定要有该表所属的用户名

oracle 有两个用户 下边都有一个同样的表 能在A用户下查询B用户的表
因为表名都是一样的,那么直接用dba_tables中两个用户表名相等的表关联就可以,弄个列编辑软件写一次就行了,然后放在sql中执行,或者写一个脚本也可以。不用一个一个写的。drop后再建立同义词。不过如果一个库查询同义词过多,好像会有性能问题,不过如果不改程序似乎解决办法还真的只有这样。

oracle中怎么用存储过程的的方法 把一个用户里的一个表移到另一个用户...
1. 俩个user存在, 并且有相关权限,比如create session etc, 因为你有需要从一个user中去访问另个user,所以Grant select,insert等你需要的权限给另外个user,比如在user B里执行:grant insert on C to A;2. 在user B中建DB link使其能访问user A;3. user B 中建立和user A你想移的那种表的...

相似回答