T-SQL - это просто другой мир.
Ваш код делает именно то, что вы ему сказали.@ColName - не ссылка на объект столбца, а переменная, содержащая строковое значение, которое вы загрузили с именем столбца.
Предлагаю вам посмотреть пример .Если хотите, прочитайте все это, но если вы спешите, перейдите к фразе CREATE TRIGGER Audit.
Кроме того, найдите время, чтобы сделать это с помощью логики, основанной на множестве - как в примере.Используйте всю мощь и производительность СУБД, используя T-SQL и освобождая от строки кодирование строк.Нет, правда.Кодированные петли = низкая производительность.При необходимости СУБД будет реализовывать циклы (или как пожелает) в фоновом режиме.
Удачи!
Я пытался найти эту ссылку ранее.Я считаю, что эта запись Пола Нильсена очень близка к тому, что вы хотите.