日期:2014-05-17  浏览次数:20827 次

有没有避免每次表名都写"用户名."的办法?
有没有避免每次表名都写"用户名."的办法?

用system登录PLSQL后,

查询内容时,

SELECT * FROM USER1.TABLEA AA LEFT JOIN USER1.TABLEB BB ON AA.ID=BB.ID

每次所有表的前面都必须输入用户的名字和点,有没有类似

USE 用户 **** 这样的语句?

省去在所有表的前面都必须输入用户的名字和点?

暂且不谈登录时使用USER1的帐号和密码的方法,这个方法肯定可以。
user

------解决方案--------------------
create public synonym
------解决方案--------------------
把表的DML权限授予public
------解决方案--------------------
scott用户
create public synonym emp for scott.emp;
grant select,update,insert on scott.emp;

system用户
select  * from emp;

------解决方案--------------------
如果你登陆的用户 是USER1
就可以不用写用户名了吧
------解决方案--------------------
oracle就是这样规定的。要查看某个用户的表
一 用这个用户登录
二 别的用户有权限,用用户名.表名
应该没有别的办法
------解决方案--------------------
创建同义词
create synonym tabblea on USER1.TABLEA
------解决方案--------------------
同义词,synonym
------解决方案--------------------
创建除sys、system等的正常用户,可以给该用户赋权限,所有的表,都建在该用户下面。再建表的时候,或者使用的时候,都不用加属主
------解决方案--------------------
创建同义词:
create synonym table1 for user1.table1;
这样你就省事了,在当前用户下直接操作,不用键入用户名。 
------解决方案--------------------
创建名称一样的同义词
------解决方案--------------------
创建同义词synonym