sql server 2005 如何实现对表数据进行定期删除

sql server 2005 如何实现对表数据进行定期删除,第1张

//1你创建一个insert触发器,每当数据插入的时候判断一下是不是有你要删除的数据。

//2你还可以创建一个存储过程,然后再做一个作业任务,让 sql server 每多长时间删除一次。

下面给出的是第一种办法的insert触发器,不过这样每次insert 他都会执行一次,对数据库有点耗资源

create TRIGGER Trigger1

ON dbousers

FOR insert

AS

Begin

declare @mintime datetime,@maxtime datetime

select @mintime =min(时间),@maxtime =max(时间) from Alarm

delete from Alarm where DATEDIFF(d,@mintime ,@maxtime )>=7

End

用C#中的定时方法,设置定时,比如一周清理一次。

意思就是当前日期减去设计的清理间隔时间大于零,那么执行方法。

那么就在一周的时间内调用delete 方法。不知你是的net ,winform还是控制台应用程序?前二者方法差不多,控制台的话跟一楼的方法差不多。

这个根据数据量来的:

若数据不大:

用crontab 写个脚本语言,先获取当前时间 比如php 为$day=inter(date("d",time()));//获取当前日期

if($day=1){//判断是否是月初

do{//数据大分页删除;根据时间取

$return = delData(time<strtotime(“-3 month”));

}while($total >(page-1)每页数量);

}

2定时存储过程

CREATE EVENT `e_call` ON SCHEDULE EVERY 3 MONTH eENDS 'time' ON COMPLETION NOT PRESERVE ENABLE DO call p_chk();

alter table [表名]

drop column [列名]

go

alter table [表名]

add  [列名] [列类型] default 0

go

每次采用删除列,然后再新建列的方式,这样可以吗

方式二:

如果可以对现有表结构进行变更,我建议把这个表待清空列,单独挑选出来,放入另外一张表中

一般用触发器来实现,也可以通过设置代理的方法实现:

如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,

可以用管理->SQL Server代理->作业来实现。

1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->

2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->

分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->

描述[填写本次工作详细描述内容];

[ 创建作业分类的步骤:

SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]

3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->

数据库[要 *** 作的数据库]->命令

[ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的sql文件

如果要执行存储过程,填 exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]

] ->确定

(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);

4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->

更改[调度时间表]->确定

(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);

5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。

以上就是关于sql server 2005 如何实现对表数据进行定期删除全部的内容,包括:sql server 2005 如何实现对表数据进行定期删除、怎么用C#程序定时清理数据库中业务数据、DB2数据库定时自动清理表数据的脚本语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9745955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存