這種情況,你得用查出來的值(也就是DBLINK的名字)拼出一段SQL來,然后用EXECUTE IMMEDIATE執(zhí)行。
站在用戶的角度思考問題,與客戶深入溝通,找到于洪網(wǎng)站設(shè)計(jì)與于洪網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋于洪地區(qū)。
在ORACLE里A庫里建立一個(gè)同義詞可把B庫的X 表映射到A庫。這樣A庫就當(dāng)本庫的表(虛擬式)使用。
Oracle的同義詞(synonyms)從字面上理解就是別名的意思,和試圖的功能類似,就是一種映射關(guān)系。本文介紹如何創(chuàng)建同義詞語句,刪除同義詞以及查看同義詞語句。
oracle的同義詞總結(jié):
從字面上理解就是別名的意思,和試圖的功能類似。就是一種映射關(guān)系。
1.創(chuàng)建同義詞語句:
create public synonym table_name for user.table_name;
其中第一個(gè)user_table和第二個(gè)user_table可以不一樣。
此外如果要?jiǎng)?chuàng)建一個(gè)遠(yuǎn)程的數(shù)據(jù)庫上的某張表的同義詞,需要先創(chuàng)建一個(gè)Database Link(數(shù)據(jù)庫連接)來擴(kuò)展訪問,然后在使用如下語句創(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
第一就是優(yōu)化網(wǎng)絡(luò),如果網(wǎng)絡(luò)沒問題那就沒有別的辦法,只能從查詢語句上優(yōu)化。
因?yàn)槟憧鑾觳樵儠r(shí)間消耗=在其他庫上面執(zhí)行查詢的時(shí)間+網(wǎng)絡(luò)傳輸時(shí)間。通常網(wǎng)絡(luò)不會(huì)有問題,所以只能優(yōu)化查詢語句
首先登錄的用戶(user2為例)必須有操作要”跨用戶“的用戶(user1為例)權(quán)限。
如果有權(quán)限的話。登錄user2(conn user2/password)通過如下命令查看:”select a.name from user1.table1 a“;
解釋:當(dāng)前登錄的用戶必須有訪問user1表table1權(quán)限限,之后就可以當(dāng)做是“一個(gè)用戶”下的表完成跨用戶查詢。
如果沒有權(quán)限的話,需要登錄到user1給user2授權(quán)table1表查詢權(quán)限:grant select on table1 to user2;即可完成權(quán)限設(shè)置。