В приведенном выше примере @val1 имеет значение before, а @val2 - значение after, хотя я подозреваю, что любые изменения в триггере не будут в val2, поэтому вам придется использовать выходную таблицу в этом случае. Я думаю, что для всего, кроме самого простого случая, выходная таблица будет более читабельной в вашем коде.
Это очень полезно, если вы хотите превратить столбец в разделенный запятыми список;
DECLARE @list varchar(max) = '';
DECLARE @comma varchar(2) = '';
SELECT @list = @list + @comma + County, @comma = ', ' FROM County
print @list