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