Как получить обновленные имена столбцов в sql Server без использования триггера

#sql-server

#sql-server

Вопрос:

У меня есть таблица с именем user со столбцами, такими как FirstName, LastName, Location, City и т. Д. Я хотел сделать это после того, как пользователь обновит свою информацию, я хотел отследить, какие столбцы обновляются пользователем без создания какого-либо триггера. Для получения информации об обновлении я использовал хранимую процедуру.Я хочу вернуть обновленное имя столбца поля без создания триггера.

 CREATE PROCEDURE [UpdateInfo]  
(@FirstName NVARCHAR(20),  
 @LastName NVARCHAR(1000),  
 @Location NVARCHAR(1000),  
 @City NVARCHAR(400)
)  
AS  
BEGIN  
IF EXISTS(SELECT 1 FROM [user] WHERE FirstName = @FirstName)  
BEGIN  
UPDATE [user]   
SET FirstName = ISNULL(@FirstName, FirstName),  
  LastName = ISNULL(@LastName, LastName),  
  Location = ISNULL(@Location, Location),  
  City = ISNULL(@City, City)
  WHERE  FirstName = @FirstName  
END  
END
 

Комментарии:

1. Пожалуйста, покажите нам, что вы пробовали, и помогите нам помочь вам, предоставив нам образцы данных.

2. ‘Для этого я использовал хранимую процедуру.’ — так в чем вопрос?

3. Что означает «I»? И почему хранимая процедура? Что-то должно иметь контекст того, что изменилось. Это доступно (примерно) в триггере. Это также известно (или известно) процессу, который обновляет строку. Может быть, можно использовать CDC?