• I have to agree with what autoexcrement said earlier, why not get rid of the trigger altogether and use a persisted computed column?

    USE tempdb

    GO

    CREATE TABLE [dbo].[scancodeX](

    [scancode_id] [int] IDENTITY(1,1) NOT NULL

    , [scancode] AS CONVERT(VARCHAR(12),CONVERT(VARBINARY(4), scancode_id + 55555,0),1) PERSISTED

    , [parent_object] varchar(150) NOT NULL

    , [parent_object_id] [int] NOT NULL

    , [Created] [datetime] NOT NULL

    , [CreatedBy] [nvarchar](128) NOT NULL

    , [Modified] [datetime] NOT NULL

    , [ModifiedBy] [nvarchar](128) NOT NULL

    , [RowVersion] [int] NOT NULL

    CONSTRAINT [PK_scancodeX] PRIMARY KEY CLUSTERED

    (

    [scancode_id] ASC

    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

    ) ON [PRIMARY];

    GO

    INSERT INTO dbo.scancodeX ([parent_object], [parent_object_id], [Created], [CreatedBy], [Modified], [ModifiedBy], [RowVersion])

    VALUES

    ('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1)

    ,('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1)

    ,('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1)

    ,('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1)

    ,('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1)

    ,('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1)

    ,('parent_object', 123, CURRENT_TIMESTAMP, 'createdby', CURRENT_TIMESTAMP, 'modifiedby', 1);

    SELECT * FROM dbo.scancodeX;

    DROP TABLE dbo.scancodeX;