TR_MKTLISTLAYOUT_UPDATE

Definition

Copy


CREATE trigger dbo.[TR_MKTLISTLAYOUT_UPDATE]
on dbo.[MKTLISTLAYOUT] instead of update not for replication
as
  set nocount on

  declare @ID uniqueidentifier;
  declare @NAME nvarchar(50);
  declare @NEWNAME nvarchar(50);
  declare @DESCRIPTION nvarchar(300);
  declare @SITEID uniqueidentifier;
  declare @ADDNEWCODETABLEENTRIES bit;
  declare @ADDEDBYID uniqueidentifier;
  declare @CHANGEDBYID uniqueidentifier;

  -- make sure the name is unique

  if update([NAME])
    begin
      declare UPDATECURSOR cursor local fast_forward for
        select
          i.[ID],
          i.[NAME],
          i.[DESCRIPTION],
          i.[SITEID],
          i.[ADDNEWCODETABLEENTRIES],
          i.[ADDEDBYID],
          i.[CHANGEDBYID]
        from inserted i;

      open UPDATECURSOR;
      fetch next from UPDATECURSOR into @ID, @NAME, @DESCRIPTION, @SITEID, @ADDNEWCODETABLEENTRIES, @ADDEDBYID, @CHANGEDBYID;

      while (@@FETCH_STATUS = 0)
      begin
        update [dbo].[MKTLISTLAYOUT] set
          [NAME] = dbo.[UFN_MKTLISTLAYOUT_GETUNIQUENAME](@ID, @NAME),
          [DESCRIPTION] = @DESCRIPTION,
          [SITEID] = @SITEID,
          [ADDNEWCODETABLEENTRIES] = @ADDNEWCODETABLEENTRIES,
          [CHANGEDBYID] = @CHANGEDBYID
        where [ID] = @ID;

        fetch next from UPDATECURSOR into @ID, @NAME, @DESCRIPTION, @SITEID, @ADDNEWCODETABLEENTRIES, @ADDEDBYID, @CHANGEDBYID;
      end;

      close UPDATECURSOR;
      deallocate UPDATECURSOR;
    end;