[英]Create a table with relationships SQL
我想知道如何創建表之間的關系。
我打算將新行添加到 table1 時,該行也在表 2 中創建,我該怎么做?
Table1
ID_Orders ID_Line Orders Clients
1 2 A ABC
2 2 B ABC
Table2
ID_Orders ID_Line Product
1 2 A
2 2 B
我嘗試使用外鍵關系,但它不起作用。
CREATE TABLE Table2(
ID_Orders int ,
ID_Line int,
Product text,
FOREIGN KEY(ID_Orders) REFERENCES Table1(ID_Orders),
FOREIGN KEY(ID_Line) REFERENCES Table1(ID_Line)
);
您所描述的不是兩個表之間的標准關系。 這些關系使用外鍵關系來描述。 但是你想要“自動”更新。
最簡單的方法是使用視圖:
create view table2 as
select ID_Orders, ID_Line, Orders as Product
from table1;
對此的一個變體是物化視圖,它將物化數據,因此查詢可能會更快(好吧,在這種情況下可能不是,但如果查詢更復雜,則可能)。
另一種方法是擁有一個真正的table2
並在table1
上使用insert
(也許還有update
和delete
觸發器)。 當將一行插入table1
時,觸發器可以將數據復制到table2
。
綜上所述,將相同的數據存儲在多個位置是一種不好的做法。 有時,它可能是一個重要的優化。 但是根據您的描述,您不需要兩張桌子。
我知道這是最懶惰的方式,但它奏效了:) 謝謝
SQL Management Studio Select 腳本... 創建到... 新查詢 Window。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.