У меня есть триггер AFTER UPDATE для таблицы.
Мне нужно получить имя изменяющегося столбца и его старые и новые значения.
Чтобы сделать оператор UPDATE(column_name)
с каждым столбцом в кодеплохое решение.Но я не могу получить все имена столбцов таблицы с помощью запроса
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.Columns
WHERE TABLE_NAME = 'smth'
и в курсоре динамически получить значение UPDATE(@column_name)
.
В то же время, когда я пытаюсь использовать функцию COLUMNS_UPDATED()
, когдаЯ обновляю только один столбец в таблице, у меня есть результаты (значение, преобразованное в int):
64 (Updated column with ORDINAL_POSITION = 31)
32 (Updated column with ORDINAL_POSITION = 30)
8 (Updated column with ORDINAL_POSITION = 29)
4 (Updated column with ORDINAL_POSITION = 28)
2 (Updated column with ORDINAL_POSITION = 27)
1 (Updated column with ORDINAL_POSITION = 26)
32768 (Updated column with ORDINAL_POSITION = 25)
Я думаю, что это очень странно, и прошу вашей помощи.