首页 新闻 会员 周边 捐助

v$session 和 v_$session问题

0
悬赏园豆:20 [待解决问题]

E:\app\用户名\product\11.2.0\dbhome_1\RDBMS\ADMIN\cdfixed.sql
文件下有这么一段代码,没看懂
create or replace view v_$session as select * from v$session;
create or replace public synonym v$session for v_$session;
grant select on v_$session to select_catalog_role;

我自己写了段测试
create or replace view my_temp1 as select t.cent_name,t.hq_org_code from temp t;
create or replace public synonym my_temp2 for my_temp1;
create or replace public synonym temp for my_temp1;

temp表有四个字段的实际表,select * from temp 时,依旧是四个字段,
如果“create or replace public synonym temp for my_temp1;”生效,那应该是两个字段。

回到v$session 和 v_$session问题,我觉得“create or replace public synonym v$session for v_$session;” 毫无意义,或者说,我压根看不懂这句想表达什么。

问题补充:

目前测试的结果:
当表名或视图名与同义词名相同时,则同义词的作用失效。

java挨踢男的主页 java挨踢男 | 初学一级 | 园豆:184
提问于:2019-04-25 23:13
< >
分享
所有回答(1)
0

测试新总结:本人之前创建的是public,公有同义词,如果删除public,创建会报错。如果更换用户,是可以查到public同义词的,结果是两个个字段。如果该用户创建了temp,则会覆盖公有同义词的temp。类似于局部变量覆盖全局变量的关系。

java挨踢男 | 园豆:184 (初学一级) | 2019-04-26 01:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册