CREATE [PUBLIC]SYNONYM synonym For schema.object
隱藏物件的名稱和所有者:
select count(*) from hr.employees;
create synonym emp for hr.employees;
--預設屬於donny使用者,是donny的私有物件private
select count(*) from emp;
為分散式資料庫的遠端物件提供了位置透明性:
訪問其他資料庫時,要首先建立資料庫連結:
CREATE DATABASE LINK test_link CONNECT TO username IDENTIFIED BY pass USING "orabase";
Select count(*) from hr.employees@test_link;
create synonym link_emp for hr.employees@test_link;
select count(*) from link_emp;
提供物件的公共訪問:
create public synonym pub_emp for hr.employees;
pub_emp屬於public使用者,資料庫所有使用者都可以訪問。
同義詞型別
–私有 emp
實際上donny.emp
–公用 pub_emp
所有使用者都可以直接訪問
當公有物件和私有物件同名時(因為資料不同的使用者,所以可以),以私有物件優先。(類似於區域性變數)
desc
dba_synonyms/ user_synonyms/ all_synonyms 資料字典,複數
tab公有同義詞
建立私有的tab表,檢視效果。
drop synonym donny.emp;
drop public synonym pub_emp;
CREATE [PUBLIC]SYNONYM synonym For schema.object
隱藏物件的名稱和所有者:
select count(*) from hr.employees;
create synonym emp for hr.employees;
--預設屬於donny使用者,是donny的私有物件private
select count(*) from emp;
為分散式資料庫的遠端物件提供了位置透明性:
訪問其他資料庫時,要首先建立資料庫連結:
CREATE DATABASE LINK test_link CONNECT TO username IDENTIFIED BY pass USING "orabase";
Select count(*) from hr.employees@test_link;
create synonym link_emp for hr.employees@test_link;
select count(*) from link_emp;
提供物件的公共訪問:
create public synonym pub_emp for hr.employees;
pub_emp屬於public使用者,資料庫所有使用者都可以訪問。
同義詞型別
–私有 emp
實際上donny.emp
–公用 pub_emp
所有使用者都可以直接訪問
當公有物件和私有物件同名時(因為資料不同的使用者,所以可以),以私有物件優先。(類似於區域性變數)
desc
dba_synonyms/ user_synonyms/ all_synonyms 資料字典,複數
tab公有同義詞
建立私有的tab表,檢視效果。
drop synonym donny.emp;
drop public synonym pub_emp;