日期:2014-05-18  浏览次数:20597 次

请问一个sql server数据定时恢复的问题?
比如说我有一张表:
create table save_data
{
number varchar(50),
state char(1),
time datetime
}
我在其中插入数据:
'100019llldilkkllllppp','0',getedate()
请问一个问题,
如果state在两个小时之内没有变为'1'的话,就删除此数据,请问这个怎么做到呀,需要使用什么技术呀???

------解决方案--------------------
在作业里设置定时检查执行就可以了
------解决方案--------------------
写个作业 定时2个小时执行一次
在作业 if exists(select 1 from save_data where state='0')
begin
delete from save_data where state='0'
end
------解决方案--------------------
1、作业可以,像晴天说的。

2、可以做一个插入触发器,看之前有超过两小时没有更新为1的删掉,但是这种时效不是很准确。
------解决方案--------------------
作业中执行这样的语句:
SQL code
delete from save_data where state=0 and datediff(mi,time,getdate())>120

------解决方案--------------------
探讨

引用:
作业中执行这样的语句:

SQL code
delete from save_data where state=0 and datediff(mi,time,getdate())>120

如果还有几个表和这个表关联?
这个表删除的时候,也需要把其他几张中的数据删除,但是其中有的数据需要恢复到数据库其他表中,这样实现是不是需要用游标来……

------解决方案--------------------
探讨

引用:
作业中执行这样的语句:

SQL code
delete from save_data where state=0 and datediff(mi,time,getdate())>120

如果还有几个表和这个表关联?
这个表删除的时候,也需要把其他几张中的数据删除,但是其中有的数据需要恢复到数据库其他表中,这样实现是不是需要用游标来……