create table T(列名 varchar(3))
gocreate trigger trg_T
on T
instead of insert,delete
as
begin
update T set 列名=right('000'+cast((T.列名-1) as varchar(3)),3)
from T,deleted where T.列名>deleted.列名
update T set 列名=right('000'+cast((T.列名+1) as varchar(3)),3)
from T,inserted where T.列名>=inserted.列名
end
godrop trigger trg_T
drop table T
gocreate trigger trg_T
on T
instead of insert,delete
as
begin
update T set 列名=right('000'+cast((T.列名-1) as varchar(3)),3)
from T,deleted where T.列名>deleted.列名
update T set 列名=right('000'+cast((T.列名+1) as varchar(3)),3)
from T,inserted where T.列名>=inserted.列名
end
godrop trigger trg_T
drop table T
gocreate trigger trg_T1
on T
instead of insert
as
begin
update T set 列名=right('000'+cast((T.列名+1) as varchar(3)),3)
from T,inserted where T.列名>=inserted.列名 insert into T select * from inserted
end
gocreate trigger trg_T2
on T
for deleted
as
begin
update T set 列名=right('000'+cast((T.列名-1) as varchar(3)),3)
from T,deleted where T.列名>deleted.列名
end
go
drop trigger trg_T1,trg_T2
drop table T