怎么查oracle同義詞 查看同義詞 oracle

oracle中什么是同義詞?什么是Public 的同義詞?

alias(別名),比如把user1.table1在user2中建一個(gè)同義詞table1

我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、方山ssl等。為上千多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的方山網(wǎng)站制作公司

create synonym table1 for user1.table1;

這樣當(dāng)你在user2中查select * from table1時(shí)就相當(dāng)于查select * from user1.table1;

優(yōu)點(diǎn)自己總結(jié)吧。

例如:

在oracle中對(duì)用戶的管理是使用權(quán)限的方式來管理的,也就是說,如果我們想使用數(shù)據(jù)庫(kù),我們就必須得有權(quán)限,但是如果是別人將權(quán)限授予了我們,我們也是能對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的,但是我們必須要已授權(quán)的表的名稱前鍵入該表所有者的名稱,所以這就是比較麻煩的,遇到這種情況,我們?cè)撛趺崔k呢?創(chuàng)建個(gè)同義詞吧!這樣我們就可以直接使用同義詞來使用表了。

對(duì)另一個(gè)數(shù)據(jù)對(duì)象而言同義詞是一個(gè)別名。public同義詞是針對(duì)所有用戶的,相對(duì)而言private同義詞則只針對(duì)對(duì)象擁有者或被授予權(quán)限的賬戶。在本地?cái)?shù)據(jù)庫(kù)中同義詞可以表示表、視圖、序列、程序、函數(shù)或包等數(shù)據(jù)對(duì)象,也可以通過鏈接表示另一個(gè)數(shù)據(jù)庫(kù)的對(duì)象。

創(chuàng)建同義詞語(yǔ)法如下:

CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] object[@db_link];

例:

CREATE PUBLIC SYNONYM policies FOR poladm.policies@prod;

CREATE SYNONYM plan_table FOR system.plan_table;

oracle 查看同義詞

SELECT * FROM SYS.ALL_SYNONYMS WHERE SYNONYM_NAME='S'.里面有同義詞的表與用戶

Oracle中使用同義詞介紹

一、背景

有兩個(gè)sid:Asid,Bsid,在Asid下有兩個(gè)用戶Auser1,Auser2,在Bsid下有一個(gè)用戶Buser1。其中Auser2和Buser1建立了dblink?,F(xiàn)希望通過登錄Buser1訪問Auser1上的三張表table1,table2,table3信息和函數(shù)function1。

二、步驟

①登錄Auser1對(duì)Auser2授權(quán)(若需要?jiǎng)h除則加上)

grant ,select,on table1 to Auser2;

grant ,select,on table2 to Auser2;

grant ,select,on table3 to Auser2;

grant execute on function1 to Auser2;

②登錄Auser2建立同義詞

create synonym table1 for Auser1.table1;

create synonym table2 for Auser1.table1;

create synonym table3 for Auser1.table1;

create synonym function1 for Auser1.function1;

③登錄Buser1查找db_link名(例如查出來的db_link名為mydblink1)

select username,db_link from user_db_links

④建立Buser1的同義詞

create synonym table1 for Auser2.table1@mydblink1;

create synonym table2 for Auser2.table2@mydblink1;

create synonym table3 for Auser2.table3@mydblink1;

create synonym function1 for Auser2.function1@mydblink1;

⑤測(cè)試

此時(shí)登錄Buser1通過select * from table1就可以訪問table1了。

三、注意點(diǎn)

也可以建立procedure的`同義詞,但是這樣執(zhí)行的過程中不允許commit。如果要提交的話請(qǐng)?jiān)谌鏙DBC中commit()。

oracle同義詞

Oracle的同義詞(synonyms)從字面上理解就是別名的意思,和視圖的功能類似,就是一種映射關(guān)系。它可以節(jié)省大量的數(shù)據(jù)庫(kù)空間,對(duì)不同用戶的操作同一張表沒有多少差別;它擴(kuò)展了數(shù)據(jù)庫(kù)的使用范圍,能夠在不同的數(shù)據(jù)庫(kù)用戶之間實(shí)現(xiàn)無縫交互;Oracle數(shù)據(jù)庫(kù)中提供了同義詞管理的功能。同義詞是數(shù)據(jù)庫(kù)對(duì)象的一個(gè)別名,經(jīng)常用于簡(jiǎn)化對(duì)象訪問和提高對(duì)象訪問的安全性。在使用同義詞時(shí),Oracle數(shù)據(jù)庫(kù)將它翻譯成對(duì)應(yīng)方案對(duì)象的名字。與視圖類似,同義詞并不占用實(shí)際存儲(chǔ)空間,只有在數(shù)據(jù)字典中保存了同義詞的定義

創(chuàng)建同義詞

CREATE SYNONYM SYSN_TEST FOR TEST;

查看同義詞

SELECT * FROM USER_SYNONYMS

使用同義詞

SELECT * FROM SYSN_TEST;

刪除同義詞

DROP SYNONYM SYSN_TEST;

oracle 怎樣查看同義詞的創(chuàng)建語(yǔ)句

1.你可能需要在user用戶中給當(dāng)前用戶(user2)授權(quán): grant select/delete/update on user2

 

創(chuàng)建同義詞:

create public synonym table_name for user.table_name;

2.刪除同義詞:

drop public synonym table_name;

3.查看所有同義詞:

select * from dba_synonyms

如何查看Oracle中同義詞的表結(jié)構(gòu)

1.@dblink是你要查詢的同義詞對(duì)應(yīng)的database link。

2.表名是在db link里的表名,不是在你庫(kù)中同義詞里的表名,如下圖:不是S_SALES_BLL,而是B_SALES_ALL。

3.表名區(qū)分大小寫。PS:表名如果是大寫,你寫小寫,那就查詢結(jié)果為空。

本文名稱:怎么查oracle同義詞 查看同義詞 oracle
URL分享:http://muchs.cn/article14/hgidde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、建站公司、定制網(wǎng)站動(dòng)態(tài)網(wǎng)站、電子商務(wù)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)