次のようなトリガーがあります。
ALTER TRIGGER [dbo].[trSeasonHotelsSupplierOfferUpdate]
ON [dbo].[SeasonHotelsSupplierOffers]
AFTER UPDATE
AS
BEGIN
IF ((SELECT COUNT(*) FROM inserted) = 1 AND (SELECT COUNT(*) FROM deleted) = 1)
BEGIN
INSERT INTO SeasonHotelsSupplierOffersHistory (SeasonHotelSupplierOfferID, ColumnEN, OldValue, NewValue, UpdateDate, UpdatedByID)
SELECT
i.SeasonHotelSupplierOfferID, 'Name', d.Name, i.Name, i.UpdateDate, i.UpdatedByID
FROM
inserted i, deleted d
WHERE
ISNULL(i.Name,'')<>ISNULL(d.Name,'')
END
END
挿入されたデータと削除されたデータに対してもこれを機能させる必要があります。これはすべて、次の列を持つSeasonHotelsSupplierOffersHistoryというテーブルに保存されます。
SeasonHotelSupplierOfferID、ColumnEN、OldValue、NewValue、UpdateDate、UpdatedByID
更新後、削除、挿入`と言わなければならないことは知っていますが、それだけです。
ありがとう