時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(1)
create synonym table_name for user.table_name;
其中第一個user_table和第二個user_table可以不一樣。
此外如果要創(chuàng)建一個遠程的數(shù)據(jù)庫上的某張表的同義詞,需要先創(chuàng)建一個Database Link(數(shù)據(jù)庫連接)來擴展訪問,然后在使用如下語句創(chuàng)建數(shù)據(jù)庫同義詞:create synonym table_name for table_name@DB_Link;
當(dāng)然,你可能需要在user用戶中給當(dāng)前用戶(user2)授權(quán): grant select/delete/update on user2
創(chuàng)建好同義詞之后,你可以對它進行DML(insert,update,delete)操作,當(dāng)然select語句時肯定支持的。刪除同義詞:drop synonym table_name;這里的table_name是指同義詞的表名。
同義詞擁有如下好處:節(jié)省大量的數(shù)據(jù)庫空間,對不同用戶的操作同一張表沒有多少差別;擴展的數(shù)據(jù)庫的使用范圍,能夠在不同的數(shù)據(jù)庫用戶之間實現(xiàn)無縫交互;同義詞可以創(chuàng)建在不同一個數(shù)據(jù)庫服務(wù)器上,通過網(wǎng)絡(luò)實現(xiàn)連接。
查看所有同義詞:
select * from dba_synonyms
在oracle中創(chuàng)建同義詞我們都知道,在oracle中對用戶的管理是使用權(quán)限的方式來管理的,也就是說,如果我們想使用數(shù)據(jù)庫,我們就必須得有權(quán)限,但是如果是別人將權(quán)限授予了我們,我們也是能對數(shù)據(jù)庫進行操作的,但是我們必須要已授權(quán)的表的名稱前鍵入該表所有者的名稱,所以這就是比較麻煩的,遇到這種情況,我們該怎么辦呢?創(chuàng)建個同義詞吧!這樣我們就可以直接使用同義詞來使用表了。
創(chuàng)建同義詞的具體語法是:create [public] SYNONYM synooym for object;其中synooym表示要創(chuàng)建的同義詞的名稱,object表示表,視圖,序列等我們要創(chuàng)建同義詞的對象的名稱。
CREATE PUBLIC SYNONYM public_emp FOR jward.emp; -- jward 用戶名
刪除同義詞
使用DROP SYNONYM語句刪除不再需要的同義詞 要想刪除私有同義詞 就省略 PUBLIC 關(guān)鍵字要想刪除公共同義詞就要包括PUBLIC 關(guān)鍵字
DROP SYNONYM emp; --刪除名為emp 的私有同義詞
DROP PUBLIC SYNONYM public_emp; --刪除名為public_emp的公有同義詞
關(guān)鍵詞標(biāo)簽:Oracle
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法