ВМЕСТО ОБНОВЛЕНИЯ, возможно ли обновить столбцы, не перечисляя их? - PullRequest
0 голосов
/ 26 апреля 2019

Я создал триггер, и я хочу, чтобы он выполнял функцию со значением столбца, если этот столбец обновляется, в противном случае я просто хочу обновить в обычном режиме. И чтобы упростить обслуживание БД, я не хочу перечислять столбцы для обновления, потому что не хочу обновлять триггер всякий раз, когда добавляю / удаляю столбец в таблице.

CREATE TRIGGER modify_country_code
ON Location
INSTEAD OF UPDATE
AS
BEGIN

    IF UPDATE(CountryCode)
        BEGIN

            -- This works if I am only updating the CountryCode column. But if updating
            -- multiple columns, the other columns are not updated (obviously)
            UPDATE Location
            SET Location.CountryCode = dbo.MyFunction(inserted.CountryCode)
            FROM inserted
            WHERE Location.Id = inserted.Id

        END
    ELSE
        BEGIN
            UPDATE Location
            -- possible to perform an update without listing the columns?
        END

END
...