請問oracle資料庫中兩張表分別在兩個資料庫中怎麼

時間 2021-10-14 22:25:28

1樓:匿名使用者

無法進行關聯,oracle不能跨資料庫操作,只可以跨使用者操作。

sql:select a.name ,b.id from user1.table1 a,user2.table2 b where a.id =b.id;

解釋:當前登入的使用者必須有訪問user1表table1許可權和user2使用者的table2表許可權,之後就可以當做是“一個使用者”下的表完成跨使用者查詢。

2樓:匿名使用者

建立database link

通過觸發器,或者儲存過程,保證2個表的資料的關聯。

3樓:匿名使用者

create public batabase link a_to_b

connect to (被操作表所在庫的使用者名稱) identified by (被操作表所在庫的密碼)

using ‘(被操作表所屬例項名)’;

然後在操作例項中進行測試:

select 1 from dual@a_to_b;

如果有正確結果 那麼你就建立了一個dblink了。

這個時候就可以 跨庫查詢了。

4樓:匿名使用者

兩個不同的例項 如果要關聯的話。。。 一般採用dblink來做。

兩個oracle資料庫,怎麼把其中兩張表的資料關聯合並顯示出來

5樓:匿名使用者

(1)用dblink使你在這個資料庫可以查詢另一個資料庫的資訊。注意,許可權問題。包括使用者許可權和查詢許可權。

(2)看到你的顯示結果個人建議用union all來做,就是查出上表的全部資料並上下表e欄位與上表e欄位相同的欄位,然後再排序(如果順序不重要也可以不排序)。左連線或者右連線的話前面要用case when判斷,而且似乎不可行,因為在上表e=a時g也顯示在i欄位中,所以用union all似乎更加簡單一些。

兩張表在不同的資料庫,如何關聯查詢? 20

6樓:a羅網天下

mysql支援多個庫中不同表的關聯查詢,你可以隨便連結一個資料庫

然後,sql語句為:

select * from db1.table1 left join db2.table2 on db1.table1.id = db2.table2.id

只要用資料庫名加上"."就能呼叫相應資料庫的資料表了.

資料庫名.表名

mysql查詢語句

1、查詢一張表:     select * from 表名;

2、查詢指定欄位:select 欄位1,欄位2,欄位3....from 表名;

3、where條件查詢:select 欄位1,欄位2,欄位3 frome 表名 where 條件表示式;

例:select * from t_studect where id=1;

select * from t_student where age>22

4、帶in關鍵字查詢:select 欄位1,欄位2 frome 表名 where 欄位 [not]in(元素1,元素2);

例:select * from t_student where age in (21,23);

select * from t_student where age not in (21,23);

5、帶between and的範圍查詢:select 欄位1,欄位2 frome 表名 where 欄位 [not]between 取值1 and 取值2;

例:select * frome t_student where age between 21 and 29;

select * frome t_student where age not between 21 and 29;

7樓:匿名使用者

舉個例子:存在兩個資料庫db1,db2。

在db1中有表table1(id,name)在db2中有表table1(id,iid,allinfo)現在想把table1,table1兩表關聯起來查詢一些資料。

查詢語句如下:select *

from db1.dbo.table1 inner joindb2.

dbo.table2 on db1.dbo.

table1.id = db1.dbo.

table1.iid

這樣就可以查出所有存在關係的資料。

8樓:浪谷詩社

這個可以關聯查詢

以mssql為例,其他的類似

sp_addlinkedserver '庫別名','sqloledb','b庫名'

sp_addlinkedsvrlogin '庫別名','sa','密碼'

然後在a庫中就可以這樣訪問b庫:

select * from 庫別名.b庫名.dbo.torder

帶完整引數的例子:

exec sp_addlinkedserver '10.16.1.

*,'','sqloledb','10.16.1.

*',null,null,'*lant(遠端庫名)'

exec sp_addlinkedsrvlogin '10.16.1.*','false',null,'***a*ly','con***60'

另外:sp_helpserver 幫助

exec sp_droplinkedsrvlogin '10.16.1.*', null;--刪除連結的登入資訊

exec sp_dropserver '10.16.1.*', null;--刪除連結的遠端伺服器

10.16.1.*.sms.dbo.表名

9樓:匿名使用者

1. 什麼資料庫

2. 在一個例項

裡嗎?如果在一個例項裡,可以加上資料庫名訪問select * from databasea.tuser user,databaseb.

torder order where user.userid = order.userid

10樓:匿名使用者

select x..... y.....

from a.tuser x

, b.torder y

where x,user_id = y.user_id

sql server中 兩個不同的資料庫中的兩張表如何關聯? 10

11樓:小執著

1、首先就是建立幾個沒有任何關係的表,但是注意,你在將要作為外來鍵表的表上必須使用與將要作為主鍵表的資料型別相同。

2、將能唯一標識的那一行設定為主鍵,其他表類似。

3、接下來新增關係,如下圖。

4、拖動需要新增的關係,直接看圖。

5、關聯完成,如圖。

12樓:匿名使用者

一臺伺服器上的兩個不同的資料庫

如test1資料庫的a表和test2資料庫的b表

可以這樣寫

選定一個資料庫如test1

select 檢索欄位

from a

inner jion b on b.檢索欄位=a.檢索欄位

where

關聯條件

兩臺伺服器上的,2個資料庫

如果是跨伺服器的,需要建立 資料庫連結

首先建立連線伺服器

use master

goif exists (select * from sysservers where srvname = 'linkserver')

begin

exec sp_dropserver 'linkserver', 'droplogins'

endgo

exec sp_addlinkedserver 'linkserver','','sqloledb','0.0.0.0'

exec sp_addlinkedsrvlogin 'linkserver','false',null,'sa','command'

golinkserver是連線伺服器的名字,你自己喜歡取什麼就取什麼

0.0.0.0,sa,command。是你要連線的另外一臺資料庫的ip和登入使用者密碼

查詢命令:

select 檢索欄位

from a

inner jion linkserver.b on b.檢索欄位=a.檢索欄位

where

關聯條件

13樓:匿名使用者

在同一個伺服器。直接寫全名稱就可以關聯

不同伺服器。可以建立連線資料庫 然後關聯

14樓:

同一臺伺服器就好說了直接關聯查詢就可以了,不同的伺服器,需要使用opendatasource,

至於說的2005的資料庫連線跟2000的是一樣的,如果是預設例項安裝的話,如果新建的例項,需要在連線後面加例項名

Oracle資料庫建立表空間問題

二者的主要區別就是前乙個的 extent 區 是自動管理的 extent management local 也就是說這個表空間oracle會根據缺省區的引數對extent進行管理。後面乙個語句所形成的表空間的 extent 是通過defaultstorage initial 20knext 10mp...

oracle資料庫建立表空間出現錯誤ora 01917 ora

從你的sqlplus中看你是在建立user,再grant許可權。而不是建立表空間。你連概念都分不清還怎麼做。另外,建立物件的時候如果使用雙引號,是區分大小寫的。oracle預設是不區分大小寫 這是報錯使用者不存在,沒許可權。必須用dba許可權操作的。建立表空間 create tablespace t...

oracle資料庫怎麼把表中的欄位按規律拆

1 首先需要sys或system許可權操作 2 查詢需要更改表的id select object id from all objects where owner ithome and object name test 1234注 ithome為使用者,test是要更改的表,表名要大寫3 通過id查出...