• Trigger Code (object names changed for anonymity):

    CREATE TRIGGER u_PartInformation ON PartInformation FOR UPDATE

    AS

    -- Propagate updates to description fields.

    IF UPDATE(part_num) OR UPDATE(headline_id) OR UPDATE(epd) OR UPDATE(catalog) OR UPDATE(color) OR UPDATE(application) OR UPDATE(short_desc) OR UPDATE(additional_info)

    BEGIN

    UPDATE [search].dbo.[ProductSearch]

    SET [search].dbo.[ProductSearch].[description] =

    ISNULL(ltrim(rtrim(i.part_num)),'') + ' ' +

    SUBSTRING(LTRIM(RTRIM(ISNULL(i.catalog,''))),3,LEN(LTRIM(RTRIM(ISNULL(i.catalog,''))))-2) + ' ' +

    SUBSTRING(LTRIM(RTRIM(ISNULL(b.[main_section],''))),4,46) + ' ' +

    SUBSTRING(LTRIM(RTRIM(ISNULL(c.[sub_section],''))),4,46) + ' ' +

    LTRIM(RTRIM(ISNULL(d.headline,''))) + ' ' +

    LTRIM(RTRIM(ISNULL(i.color,''))) + ' ' +

    LTRIM(RTRIM(ISNULL(i.application,''))) + ' ' +

    LTRIM(RTRIM(ISNULL(i.short_desc,''))) + ' ' +

    LTRIM(RTRIM(ISNULL(e.long_desc,''))) + ' ' +

    LTRIM(RTRIM(ISNULL(i.additional_info,''))),

    [search].dbo.[ProductSearch].[part_num] = i.part_num,

    [search].dbo.[ProductSearch].[headline_id] = i.headline_id,

    [search].dbo.[ProductSearch].[edp] = i.epd

    FROM

    deleted, inserted i

    LEFT OUTER JOIN main_section b

    ON LTRIM(RTRIM(i.[main_section_id])) = LTRIM(RTRIM(b.[main_section_id]))

    LEFT OUTER JOIN [sub_section] c

    ON LTRIM(RTRIM(i.[sub_section_id])) = LTRIM(RTRIM(c.[sub_section_id]))

    LEFT OUTER JOIN [headline] d

    ON LTRIM(RTRIM(i.[headline_id]))= LTRIM(RTRIM(d.[headline_id]))

    LEFT OUTER JOIN [long_description] e

    ON LTRIM(RTRIM(i.[long_desc_id])) = LTRIM(RTRIM(CAST(e.[long_desc_id] AS VARCHAR(8))))

    WHERE

    [search].dbo.[ProductSearch].part_num = i.part_num and [search].dbo.[ProductSearch].edp = i.epd

    AND (

    deleted.[catalog] <> i.[catalog]

    OR deleted. <> i.

    OR deleted.[application] <> i.[application]

    OR deleted.[short_desc] <> i.[short_desc]

    OR deleted.[additional_info] <> i.[additional_info]

    OR deleted.[part_num] <> i.[part_num]

    OR deleted.[headline_id] <> i.[headline_id]

    OR deleted.[epd] <> i.[epd]

    )

    END

    Bill Nicolich: www.SQLFave.com.
    Daily tweet of what's new and interesting: AppendNow