0
我知道有很多關於類似問題的線索,但沒有真正讓我前進。SQL - 更新後觸發多列。
我想通過觸發器更新數據庫2中相應表中更新的表。他們有相同的表格結構。使用MS SQL 2008
實際上有沒有問題,在這樣做了以後INSERT觸發器就像
INSERT INTO DB2..Table1
SELECT *
FROM inserted
WHERE column1 = @column1
但是這樣做了以後UPDATE風格時
UPDATE DB2..Table1
SET column2 = @column2 --etcetera in some way
FROM DB1..Table1
WHERE column1 = @column1 --or something not important
目前有超過100列以及對錶列的更改/添加(儘管DB1..Table1和DB2..Table1將始終具有相同的結構和列),因此爲每個要更新的列設置值似乎是一個非常糟糕的選擇。
我真正想寫的是:
UPDATE DB2..Table1
SET DB2..Table1 = (SELECT * FROM inserted WHERE column1 = @column1) alternatively DB2..Table1 = DB1..Table1
WHERE column1 = @column1
此外,我必須爲3設定固定值了超過100列。這三列將是DB1表和DB2表之間的唯一區別。當插入一個新行時這也很好,但是讓我想知道在更新的情況下我應該怎麼做。
任何想法?
類似的問題這個:Update multiple columns in SQL但我真的希望有一個更好的方式來做到這一點,我沒有想到。
儘管如此 – heen