oracle如何查所有同義詞 Oracle怎么查詢

如何查看Oracle中同義詞的表結構

1.@dblink是你要查詢的同義詞對應的database link。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,章貢企業(yè)網(wǎng)站建設,章貢品牌網(wǎng)站建設,網(wǎng)站定制,章貢網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,章貢網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

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

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

oracle中system創(chuàng)建的公有同義詞,為什么有的用戶不能訪問?

這種情況應該是授予權限的問題造成的。

1、表的所有用戶要給表授予公共權限。例如:授予查詢權限“grant select on 表 to public”;

2、建立公有同義詞不要忘了加上public選項,如:create public sysnonym。

同義詞是數(shù)據(jù)庫方案對象的一個別名,經(jīng)常用于簡化對象訪問和提高對象訪問的安全性。Oracle的同義詞有兩種類型:公有同義詞與私有同義詞。

(1)公有同義詞由一個特殊的用戶組Public所擁有。

(2)私有同義詞是由創(chuàng)建他的用戶所有。

創(chuàng)建同義詞的語法:Create [public] synonym 同義詞名稱 for [username.]objectName

刪除同義詞的語法:Drop [public] synonym 同義詞名稱

查看所有同義詞:select * from dba_synonyms

oracle 查看同義詞

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

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

1.你可能需要在user用戶中給當前用戶(user2)授權: 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中使用同義詞介紹

一、背景

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

二、步驟

①登錄Auser1對Auser2授權(若需要刪除則加上)

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;

⑤測試

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

三、注意點

也可以建立procedure的`同義詞,但是這樣執(zhí)行的過程中不允許commit。如果要提交的話請在如JDBC中commit()。

文章標題:oracle如何查所有同義詞 Oracle怎么查詢
地址分享:http://muchs.cn/article4/hgegie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、ChatGPT、營銷型網(wǎng)站建設、服務器托管、網(wǎng)站排名、網(wǎng)站制作

廣告

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

成都做網(wǎng)站