22,209
社区成员
发帖
与我相关
我的任务
分享
create trigger tri on 表A
for insert
as
update b set
[0991]=isnull(b.[0991],0)+isnull(t.[0991],0),
[0993]=isnull(b.[0993],0)+isnull(t.[0993],0),
[0999]=isnull(b.[0999],0)+isnull(t.[0999],0),
[其他]=isnull(b.[其他],0)+isnull(t.[其他],0)
from 表B b,(
select convert(varchar(10),registertime,120) as regtime,
sum(case left(telnumber,4) when '0991' then 1 else 0 end) as [0991],
sum(case left(telnumber,4) when '0993' then 1 else 0 end) as [0993],
sum(case left(telnumber,4) when '0999' then 1 else 0 end) as [0999],
sum(case when left(telnumber,4) not in ('0991','0993','0999') then 1 else 0 end) as [其他]
from inserted
group by convert(varchar(10),registertime,120)
) as t
where b.regtime=t.regtime
insert 表B(regtime,[0991],[0993],[0999],[其他])
select convert(varchar(10),t.registertime,120) as regtime,
sum(case left(telnumber,4) when '0991' then 1 else 0 end) as [0991],
sum(case left(telnumber,4) when '0993' then 1 else 0 end) as [0993],
sum(case left(telnumber,4) when '0999' then 1 else 0 end) as [0999],
sum(case when left(telnumber,4) not in ('0991','0993','0999') then 1 else 0 end) as [其他]
from inserted t
where not exists (
select 1 from 表B
where regtime=convert(varchar(10),t.registertime,120)
)
group by convert(varchar(10),t.registertime,120)
go
create trigger tri on 表A
for insert
as
if not exists(select 1 from 表B where regtime=convert(char(10),getdate()))
begin
insert into 表B values(convert(char(10),getdate(),0,0,0,0)
end
declare @区号 char(4)
select @区号=区号 from inserted
if @区号='0991'
update 表B set [0991]=[0991]+1 where regtime=convert(char(10),getdate())
else if @区号='0993'
update 表B set [0993]=[0993]+1 where regtime=convert(char(10),getdate())
else if @区号='0999'
update 表B set [0999]=[0999]+1 where regtime=convert(char(10),getdate())
else
update 表B set [其他]=[其他]+1 where regtime=convert(char(10),getdate())
go
create trigger tri on 表A
for insert
as
if not exists(select 1 from 表B where regtime=convert(char(10),getdate()))
begin
insert into 表B values(convert(char(10),getdate(),0,0,0,0)
end
--update这里写你的update语句.
go