• I would say you’d have to be more specific then that. But before you do that, it’s possible the formatting on the page changed the code. So use the following... see how it does.

    CREATE PROCEDURE dbo.SPRouterForLog

    (

    @SPName nvarchar(50),

    @RecordId nvarchar(10),

    @str1 nvarchar(4000),

    @TableName nvarchar(100),

    @OpName nvarchar(50),

    @PageName nvarchar(50)

    ) AS

    declare @TrriggerCreate varchar(8000)

    declare @VarRandom nvarchar(50)

    set @VarRandom=ltrim(str(replace(Rand(), '.', '')))

    set @TrriggerCreate='CREATE TRIGGER [PreUpdateTrigger] ON dbo.'+@TableName+'

    FOR UPDATE

    AS

    DECLARE

    @iReturnCode int,

    @iNextRowId int,

    @iCurrentRowId int,

    @iLoopControl int,

    @old varchar(75),

    @new varchar(75),

    @tmpName sysname,

    @data_type nvarchar(30)

    SELECT * INTO #deleted'+@VarRandom+' FROM deleted

    SELECT * INTO #inserted'+@VarRandom+' FROM inserted

    SELECT @iLoopControl = 1

    SELECT @iNextRowId = MIN(colid)

    FROM syscolumns

    where id = object_id('''+@TableName+''')

    SELECT @iCurrentRowId = colid,

    @tmpName = name

    FROM syscolumns

    WHERE colid = @iNextRowId

    WHILE @iLoopControl = 1

    BEGIN

    SELECT @iNextRowId = NULL

    SELECT @iNextRowId = MIN(colid)

    FROM syscolumns

    WHERE colid > @iCurrentRowId and id = object_id('''+@TableName+''')

    if (substring (columns_updated(), 1+ round ((@iCurrentRowId - 1) / 8, 0), 1) & power (2, (@iCurrentRowId - 1) % 8) <> 0 )

    begin

    create table #pass'+@VarRandom+' (tempvar sysname null)

    create table #pass1'+@VarRandom+' (tempvar sysname null)

    set @data_type=null

    select @data_type=data_type FROM information_schema.columns WHERE table_name='''+@TableName+''' and Column_Name=@tmpName

    if (@data_type <> ''money'' )

    Begin

    exec (''insert #pass'+@VarRandom+' select d.''+@tmpName+'' from #deleted'+@VarRandom+' as d

    insert #pass1'+@VarRandom+' select i.''+@tmpName+'' from #inserted'+@VarRandom+' as i'')

    end

    else

    begin

    exec (''insert #pass'+@VarRandom+' select cast(d.''+@tmpName+'' as varchar) from #deleted'+@VarRandom+' as d

    insert #pass1'+@VarRandom+' select cast(i.''+@tmpName+'' as varchar) from #inserted'+@VarRandom+' as i'')

    End

    select @old = tempvar from #pass'+@VarRandom+'

    select @new = tempvar from #pass1'+@VarRandom+'

    drop table #pass1'+@VarRandom+'

    drop table #pass'+@VarRandom+'

    if @old is null

    begin

    set @old='' ''

    end

    if @new<>@old

    begin

    insert into tbl_log (TableName,RecordNumber,ActionBy,ActionPage,ChangeClmn,OldValue,NewValue,ActionDate) values ('''+@TableName+''','+@RecordId+','''+@OpName+''','''+@PageName+''',@tmpName,@old,@new,getdate())

    end

    end

    IF ISNULL(@iNextRowId,0) = 0

    BEGIN

    BREAK

    END

    SELECT @iCurrentRowId = colid,

    @tmpName = name

    FROM syscolumns

    WHERE colid = @iNextRowId and id = object_id('''+@TableName+''')

    end

    drop table #deleted'+@VarRandom+'

    drop table #inserted'+@VarRandom+'

    '

    EXEC(@TrriggerCreate)

    declare @strSqlExec nvarchar(4000)

    set @strSqlExec=@SPName+' '+@str1

    EXEC (@strSqlExec)

    drop trigger PreUpdateTrigger

    GO