我想將IndirectFlights表合併到PriceTable中。 我沒有在SourceTable(IndirectFlights)中輸入ID,我還沒有爲它設置PK。 PriceTable的ID列是Identity(1,1)列,也是主鍵。如何合併表並防止ID衝突
Qs1如何在源列中輸入ID以便它們不與目標表(PriceTable)ID衝突?我正在考慮使用序列,但未來可能會發生衝突。 Qs2我可以選擇合併哪些列,還是必須合併源表中的所有列?
Target Table (PriceTable) Columns
IDAirport_ICAO_Code,Airline_ICAO_Code,Departure,Price,RouteStatus,DateRowModified
Source Table (IndirectFlights) Columns
IDAirport_ICAO_Code,Destination,Airline,Airline_ICAO_Code,RouteStatus,Connecting Airport
編輯:我剛纔運行下面的聯盟,以替代使用合併所有聲明。
Select ID,Airport_ICAO_Code,Airline_ICAO_Code,RouteStatus
From RoughworkPriceTable
Union All
Select ID,Airport_ICAO_Code,Airline_ICAO_Code,RouteStatus
From RoughworkIndirectFlights;
代碼的工作,但我注意到,ID列從IndirectFlights.ID接受空值eventhough我必須設置爲NOT NULL的ID列。
任何人都可以解釋這一點。 也可以expalin如何從這個Union All聲明中創建一個新的永久表。
您正在使用什麼數據庫的新表 - MS SQL Server的?合併是一次性的,還是一定要重複? – 2015-02-24 15:34:16
如果您需要頻繁合併它們,請將唯一標識符作爲主鍵,碰撞風險幾乎不存在。 – Fredou 2015-02-24 15:34:36
即時通訊使用Server Express 2014.合併是一次性的,但我可能會再次合併表,具體取決於是否將新值輸入到IndirectFlights表中。 – frustrationmultiplied 2015-02-24 15:38:55