TR_CONSTITUENCYCODE_UPDATECONSTITUENCYDEFINITION
Definition
Copy
--Add update trigger to the CONSTITUENCYCODE table to keep it in sync with the associated CONSTITUENCYDEFINITION record
create trigger TR_CONSTITUENCYCODE_UPDATECONSTITUENCYDEFINITION on dbo.CONSTITUENCYCODE after update not for replication
as
begin
set nocount on;
if update(ACTIVE) or update(DESCRIPTION)
begin
update
dbo.CONSTITUENCYDEFINITION
set
CONSTITUENCYDEFINITION.ISACTIVE = INSERTED.ACTIVE,
CONSTITUENCYDEFINITION.DESCRIPTION = INSERTED.DESCRIPTION,
CONSTITUENCYDEFINITION.DATECHANGED = INSERTED.DATECHANGED,
CONSTITUENCYDEFINITION.CHANGEDBYID = INSERTED.CHANGEDBYID
from
CONSTITUENCYDEFINITION
inner join INSERTED on CONSTITUENCYDEFINITION.ID = INSERTED.ID;
if update(ACTIVE)
begin
--if a constituency code is marked inactive, delete the appropriate rows from CONSTITUENCYDATERANGE
delete
from
dbo.CONSTITUENCYDATERANGE
where ID in
(
select CDR.ID
from
dbo.CONSTITUENCYDATERANGE CDR
inner join dbo.CONSTITUENCYDEFINITION on CDR.CONSTITUENCYDEFINITIONID = CONSTITUENCYDEFINITION.ID
inner join INSERTED on CONSTITUENCYDEFINITION.ID = INSERTED.ID
where
INSERTED.ACTIVE = 0
)
end
end
end