两个触发器的例子

为测试建立两张表:表db1与表db2;
触发器newjd所完成的功能是,只要向表db1插入一条数据就向表db2复制一条记录;
触发器trg所完成的功能是,当表bd2最大日期与最小日期相差40天时,清除较早的30天的记录;
代码如下 

-----表1的触发器
CREATE TRIGGER newjd ON db1     
FOR   INSERT   
AS   
Declare @time1 datetime , @a char(10) , @b char(10
Select @time1 = inserted.timetest , @a = inserted.a , @b = inserted.b 
  
from db1,inserted 
  
where db1.timetest = inserted.timetest
insert into db2 values(@time1,@a,@b)
go
-----表2的触发器
CREATE TRIGGER trg ON db2 
for insert
as 
declare @icount int , @time2 datetime 
select @icount = datediff(d,min(timetest),max(timetest)) , @time2 = dateadd(dd,-10,max(timetest))   from DB2
if (@icount >= 40)
delete  from db2 
where timetest <= @time2
go
-----删除触发器
drop TRIGGER newjd  --表1
drop TRIGGER trg    --表2
--
---控制触发器
--
使用
alter table db1 enable trigger newjd  
alter table db2 enable trigger trg  
--屏蔽
alter table db1 disable trigger newjd  
alter table db2 disable trigger trg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值