public synonym 和private synonym 可以同名

来源:互联网 发布:mac os x恢复出厂设置 编辑:程序博客网 时间:2024/05/23 00:27

如果public synonym 和private synonym同名,优先访问private synonym;


SQL> select count(1) from user_tables;

  COUNT(1)
----------
        18

SQL> select count(1) from user_indexes;

  COUNT(1)
----------
         4
--基于user_tables和user_indexes创建同名的private synonym和public synonym

 

 

--private synoym
SQL> create          synonym  t_private_synonym  for  user_tables; 
Synonym created

 

--public synonym

SQL> create public   synonym t_private_synonym  for  user_indexes;
Synonym created


SQL> select owner, synonym_name, table_name
  2    from dba_synonyms t
  3   where t.synonym_name = upper('t_private_synonym');

OWNER                          SYNONYM_NAME                   TABLE_NAME
------------------------------ ------------------------------ ------------------------------
PUBLIC                         T_PRIVATE_SYNONYM              USER_INDEXES
REPORT                         T_PRIVATE_SYNONYM              USER_TABLES

 

--优先访问private synonym

SQL> select  count(1)  from t_private_synonym;

  COUNT(1)
----------
        18

SQL> drop synonym  t_private_synonym;

Synonym dropped
--删掉privte synonym后,访问public synonym

SQL> select  count(1)  from t_private_synonym;

  COUNT(1)
----------
         4

原创粉丝点击