• Example script:

    set nocount on

    go

    if object_id('cache_test') is not null

    drop table cache_test

    go

    create table cache_test

    (

    id int not null,

    descr varchar(30) not null,

    rowcreateddt datetime not null default getdate(),

    rowcreatedby varchar(30) not null default

    right(system_user,30),

    testcolumn varchar(30) null,

    primary key (id)

    )

    go

    create trigger cache_test_update

    on cache_test

    for update

    as

    declare @wi integer

    if update(id)

    begin

    Print 'Update of id'

    return

    end

    select @wi = count(*) from inserted

    if exists ( select 1 from inserted where id = 98654 )

    print 'xxxx'

    return

    go

    truncate table cache_test

    go

    insert into cache_test (id, descr, testcolumn)

    select 1,'Descr 1','Test 1'

    insert into cache_test (id, descr, testcolumn)

    select 2,'Descr 2','Test 2'

    insert into cache_test (id, descr, testcolumn)

    select 3,'Descr 3','Test 3'

    insert into cache_test (id, descr, testcolumn)

    select 4,'Descr 4','Test 4'

    insert into cache_test (id, descr, testcolumn)

    select 5,'Descr 5','Test 5'

    insert into cache_test (id, descr, testcolumn)

    select 6,'Descr 6','Test 6'

    insert into cache_test (id, descr, testcolumn)

    select 7,'Descr 7','Test 7'

    insert into cache_test (id, descr, testcolumn)

    select 8,'Descr 8','Test 8'

    insert into cache_test (id, descr, testcolumn)

    select 9,'Descr 9','Test 9'

    insert into cache_test (id, descr, testcolumn)

    select 10,'Descr 10','Test 10'

    insert into cache_test (id, descr, testcolumn)

    select 11,'Descr 11','Test 11'

    insert into cache_test (id, descr, testcolumn)

    select 12,'Descr 12','Test 12'

    select SetOpts,* from master..SyscacheObjects where

    ObjId=Object_ID('cache_test_update') order by SetOpts, CacheObjType

    go

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    select SetOpts,* from master..SyscacheObjects where

    ObjId=Object_ID('cache_test_update') order by SetOpts, CacheObjType

    go

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 10

    select SetOpts,* from master..SyscacheObjects where

    ObjId=Object_ID('cache_test_update') order by SetOpts, CacheObjType

    go

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 10

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 10

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 10

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 10

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 10

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 1

    go

    select SetOpts,* from master..SyscacheObjects where

    ObjId=Object_ID('cache_test_update') order by SetOpts, CacheObjType

    go

    update cache_test

    set testcolumn = 'testing '+cast(id as varchar)

    where id between 1 and 3

    go

    select SetOpts,* from master..SyscacheObjects where

    ObjId=Object_ID('cache_test_update') order by SetOpts, CacheObjType

    go