2011-12-26 73 views
1

我工作的數據庫,現在我需要一些建議的從你們..比較數據庫和插入值

我有2個數據庫許多行和列,這些分貝的包含客戶的地址。 讓我們將數據庫命名爲A,B。

現在的問題是我必須使用主鍵讓電子郵件查找B中的地址。

如果地址存在,那就OK了。 否則,我們必須將地址插入到其他數據庫中。

請告訴我如何做到這一點,以及我們可以使用哪種語言來做到這一點?

非常感謝您花時間閱讀我的問題。

+3

您可以使用任何允許向數據庫發送查詢的語言來執行此操作。 – 2011-12-26 12:11:59

回答

1

我會不喜歡它這個:

INSERT INTO A (a, b, c, d) 
Select a, b, c, d 
From B 
Where id not in (Select id from A) 

This sav es從獲取數據到本地變量和/或臨時表。表現應該更好。

要實現的重要部分是您可以在select中硬編碼值。列出列(插入行)的順序必須與列出選擇行中列的順序相匹配。

0

您可以從另一databaseselect a table

比方說,你是在database A,以select一個tabledatabase B只是這樣做:

select * from B..tablename 

現在你需要的是這樣的:

insert into A..tablename 
select b.* from B..tablename b 
where b.email not in (select a.email from A..tablename a) 
+0

我想從表B的每封電子郵件,我必須與表A的電子郵件進行比較。 – Subash 2011-12-26 12:50:44

+0

@Subash這就是它在我的'選擇' – 2011-12-26 12:53:36