日期:2014-05-16  浏览次数:20998 次

Oracle下如何做到多用户下都有相同资源————急——————
我先在system下建了一个用户xzq,然后将表、数据脚本导入xzq用户中。现在我又建立了3个用户,lolo,wf,xyf。我在xzq用户下grant dba to lolo,这样是可以查看到xzq用户下的表,但是,用lolo登陆,里面并没有表和数据。我的目的就是想用lolo用户登陆,也能看到表,不用select * from xzq.application这样的语句,直接select * from application就能查到,请问要如何做。新手上路,大家多多指教——————————

------解决方案--------------------
SQL code

--------你把这个语句修改下,然后把查询的结果复制到plsql中,执行下就行了
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as tiny


SQL> 
SQL> select 'create synonym ' || table_name || ' for ' || owner || '.' ||
  2         table_name || ';'
  3    from all_tables
  4   where owner = upper('scott')
  5  ;

'CREATESYNONYM'||TABLE_NAME||'
--------------------------------------------
create synonym DEPT for SCOTT.DEPT;
create synonym EMP for SCOTT.EMP;
create synonym BONUS for SCOTT.BONUS;
create synonym SALGRADE for SCOTT.SALGRADE;
create synonym HIS_DEPT for SCOTT.HIS_DEPT;
create synonym INSTOCK for SCOTT.INSTOCK;

6 rows selected

SQL>

------解决方案--------------------
探讨
如果是这样,那岂不是 每张表都有一条语句?有没有批量的?

引用:
用lolo登陆
create table application as select * from xzq.application

要不就在xzp下给application表建同义词