2012-10-04 27 views
1

我得到了sql server 2005中有7個表,它們之間具有基於主鍵和外鍵的相互關係。我需要創建一個新的表格,它將包含所有7個表格的列。我需要每次使用主表7來同步這個新表。什麼是SQL Server 2005或2008年要做到這一點的最好辦法..sql中的表同步表

+2

你爲什麼不創建一個視圖中的7個表中的一個? –

+0

視圖會使執行速度變慢,因爲我將頻繁地使用此表中的數據。 – user1308182

+0

爲什麼您認爲使用視圖會很慢?你是否真的做了一些測試,並發現它確實很慢?如果是這樣,你看看索引視圖? – Pondlife

回答

0

觸發器是你應該使用什麼樣的基礎上在同一個表或其他表事件表的自動更新用..

參見範例這link

+0

我不想使用觸發器,因爲他們會減慢主表插入.. – user1308182

0

您必須創建新表,該表將包含7個表中的所有列,並插入公共表/更新爲每7

此過程中的任何表的變化過程的速度並不影響。

另一種方法是創建一個包含7個表格列的視圖。

+0

這個數據將被頻繁使用,所以每次執行視圖將會很慢.. – user1308182

+0

更好然後你會選擇第一個選項 – jainvikram444

0

1,創建一個新的表是這樣的:

select * into newtable from 
t1 join t2 on t1.id=t2.id 
... 
t6 join t7 on t6.id=t7.id 

插入: 這裏t是在數據被修改

2.insert into newtable(col1 col2..) 
    select col1,col2..from t