SQL触发器自动删除一个月以前的数据
表dbo.ALARM,列里有个AlarmTime,我要删除一个月以前的告警,触发器我是这么写createtriggerLogDeleteondbo.ALARMfordel...
表dbo.ALARM ,列里有个AlarmTime ,我要删除一个月以前的告警,触发器我是这么写
create trigger LogDelete on dbo.ALARM
for delete
as
delete from dbo.ALARM where AlarmTime《=dateadd(month,-1,getdate())
print ‘Log was delete’
执行的时候没有打印Log was delete ,问题在哪里 展开
create trigger LogDelete on dbo.ALARM
for delete
as
delete from dbo.ALARM where AlarmTime《=dateadd(month,-1,getdate())
print ‘Log was delete’
执行的时候没有打印Log was delete ,问题在哪里 展开
1个回答
2015-10-20 · 知道合伙人软件行家
关注
展开全部
使用PRINT一般是写程序时观察中间结果,对于你说的这种情况,可以直接建个测试表记录日志
追问
我刚刚做了测试,触发器如下:
create trigger Delete2 on dbo.LOG
for delete
As
delete from dbo.LOG where EventTime <= dateadd(d,-15,getdate())
GO
我查看了表单的内容 ,15天前的数据还有 ,请问是哪里出了问题
追答
你为什么用触发器,你想删数据,那可以做个JOB,每天定时删除前面的数据。
写成存储过程,再JOG调这个过程,不更好吗。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |