1
希望這是一個容易的人你比我更聰明。我想從另一個匹配表執行插入到表中,但我只想插入,如果該行不存在。行中的某些值如果存在可能會更改。沒關係。插入除了只使用2個識別列
我在想,如果插入兩列匹配,那麼不要插入並保留原樣。如果這兩列不匹配,則插入該行。我已經通過合併,並插入到除外。這段代碼將起作用:但這不是我所需要的。
INSERT INTO LotDetail
SELECT UID, LotKey, SerialNo, TypeID, HotWeight, YieldGradKey, PeltGrade,
WeightRange, MarketValue, PremiumDiscount, PeltValue, OffalValue,
PricingKey, USDAGrade, [Timestamp] FROM LotDetail
EXCEPT
SELECT UID, LotKey, SerialNo, TypeID, HotWeight, YieldGradKey, PeltGrade,
WeightRange, MarketValue, PremiumDiscount, PeltValue, OffalValue,
PricingKey, USDAGrade, [Timestamp] FROM LotDetail_STAGING
上述代碼的問題是我必須匹配所有列,否則它會告訴我表定義不匹配。我只想將時間戳和serialno作爲標識符。我不想匹配其他領域,因爲他們可能會改變。
問題是,如果記錄已經存在LotDetail表中並且「熱量」或「市場價值」已更改,我想保留這些更改並且不覆蓋記錄。我只是想只在'serialno'和'timestamp'不存在時插入。這些字段不能更改。有什麼想法嗎?
非常感謝。這正是我需要的。它測試完美。 –