ユーザーテーブルに以下のようなトリガーがあり、列が更新された監査テーブルと以前の値に挿入されます。
ALTER TRIGGER [dbo].[trgAfterUpdate] ON [dbo].[tbl_User]
AFTER UPDATE
AS
declare @fieldname varchar(128) ;
declare @OldValue varchar(255);
declare @CreateUser varchar(100) ;
declare @User_Key int;
select @CreateUser =i.user_name from deleted i;
SELECT @User_Key = i.user_key from inserted i;
if update(user_name)
begin
select @OldValue=j.user_name from deleted j;
set @fieldname = 'user_name';
insert into tbl_Audit(user_key, field_name, previuos_Value, user_name)
values(@User_Key ,@fieldname,@OldValue, @CreateUser);
end
しかし、私の質問は、テーブルに 100 個のフィールドがあることです。if条件で100書けません。while ループを使用する方法と、パフォーマンスにどのように影響するかについての提案が必要です。
ありがとう