TR_ATTRIBUTECATEGORY_UPDATE
Definition
Copy
CREATE trigger TR_ATTRIBUTECATEGORY_UPDATE on dbo.ATTRIBUTECATEGORY after update not for replication
as begin
if update(TABLECATALOGID) begin
if exists(select DELETED.ID from DELETED inner join INSERTED on INSERTED.ID = DELETED.ID where DELETED.TABLECATALOGID <> INSERTED.TABLECATALOGID and DELETED.TABLECATALOGID is not null)
raiserror('The TABLECATALOGID column cannot be updated.', 13, 1)
end
if update(NAME)
begin
declare @ID uniqueidentifier
declare @CHANGEDBYID uniqueidentifier
if (select count(INSERTED.ID) from INSERTED inner join DELETED on DELETED.ID = INSERTED.ID where INSERTED.NAME <> DELETED.NAME) > 1
begin
declare update_cursor cursor local fast_forward for
SELECT INSERTED.ID, INSERTED.CHANGEDBYID from INSERTED inner join DELETED on DELETED.ID = INSERTED.ID where INSERTED.NAME <> DELETED.NAME
open update_cursor;
fetch next from update_cursor into @ID, @CHANGEDBYID;
while @@FETCH_STATUS = 0 begin
if @ID is not null
exec dbo.USP_ATTRIBUTE_UPDATEATTRIBUTEQUERIES @ID, 1, @CHANGEDBYID;
fetch next from update_cursor into @ID, @CHANGEDBYID;
end
close update_cursor;
deallocate update_cursor;
end
else
begin
SELECT @ID = INSERTED.ID, @CHANGEDBYID = INSERTED.CHANGEDBYID from INSERTED inner join DELETED on DELETED.ID = INSERTED.ID where INSERTED.NAME <> DELETED.NAME;
if @ID is not null
exec dbo.USP_ATTRIBUTE_UPDATEATTRIBUTEQUERIES @ID, 1, @CHANGEDBYID;
end
end
end