TR_APPUSER_ARCHIVE
Definition
Copy
create trigger dbo.TR_APPUSER_ARCHIVE
on dbo.APPUSER
after insert, update
not for replication
as begin
declare @APPUSERID uniqueidentifier;
declare @DISPLAYNAME nvarchar(255);
declare @CHANGEAGENT uniqueidentifier;
declare @TIMESTAMP datetime;
select
@APPUSERID = ID,
@DISPLAYNAME = DISPLAYNAME,
@CHANGEAGENT = CHANGEDBYID,
@TIMESTAMP = DATECHANGED
from INSERTED
where ISSYSTEM = 0;
-- the trigger fires even when no rows are updated
if @APPUSERID is not null
if exists(select 1 from dbo.APPUSERARCHIVE where APPUSERID = @APPUSERID)
update
ARCHIVE
set
ARCHIVE.DISPLAYNAME = @DISPLAYNAME,
ARCHIVE.CHANGEDBYID = @CHANGEAGENT,
ARCHIVE.DATECHANGED = @TIMESTAMP
from
dbo.APPUSERARCHIVE ARCHIVE
where
@APPUSERID = ARCHIVE.APPUSERID;
else
insert into dbo.APPUSERARCHIVE(
APPUSERID,
DISPLAYNAME,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED)
values (
@APPUSERID,
@DISPLAYNAME,
@CHANGEAGENT,
@CHANGEAGENT,
@TIMESTAMP,
@TIMESTAMP);
end