怎么实现SQL数据库中表的定时删除和更新

怎么实现SQL数据库中表的定时删除和更新,第1张

假设A表是原来的表,B表是要转的表 如果你想转出后的数据完全是A表的数据,且B表结构和A表一样 你可以这样 select from A into B go drop Table A go 这个就顺利的把A表删除,并且数据全部到B表 如果只是转出一部分可以,并在A表中删除者部分数据 select from A into B where 你的条件 go delete from A where 条件要和上面的一样就可以了 go 3。如果你的B表是本来存在的,且里面已经有数据了 你只能 insert into B(Field1,Field2,) select Field1,Field2, from A where 条件(如果是全部A表数据可没有条件) go delete from A where 条件(如果是全部A表数据可没有条件) go 不知道楼主到底是什么意思,我的回答是否能给楼主点启发

USE master

go

DECLARE @s NVARCHAR(4000)

SET @s=''

SELECT @s=@s+' '+'DROP DATABASE '+QUOTENAME(name) FROM mastersysdatabases WHERE dbID>4

EXEC( @s)

go

作业的 *** 作

企业管理器

--管理

--SQL Server代理

--右键作业

--新建作业

--"常规"项中输入作业名称

--"步骤"项

--新建

--"步骤名"中输入步骤名

--"类型"中选择"Transact-SQL 脚本(TSQL)"

--"数据库"选择执行命令的数据库

--"命令"中输入要执行的语句:

上面提供的脚本

--确定

--"调度"项

--新建调度

--"名称"中输入调度名称

--"调度类型"中选择你的作业执行安排

--如果选择"反复出现"

--点"更改"来设置你的时间安排

然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行

设置方法:

我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定

两种方式。

第一种就是Timer,在程序端每隔一段时间去删除一次数据。

另一种就是用数据库作业,比如sql server的作业,可以设定每隔多久执行一段存储过程。可以在存储过程中删除数据。

//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

你 看看javasql;吧

private static class MyTask extends TimerTask

{

private String url="依照你数据库类别不同而不同";

private String sql="sql语句";

private String driver="数据库jdbc驱动类";

private Connection conn=null;

private PreparedStatement sta=null;

ClassforName(driver);

public void run()

{

conn=getConnection(url);

sta=connprepareStatement(sql);

staexecute(); //执行

staclose();

connclose();

}

}

这个根据数据量来的:

若数据不大:

用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();

以上就是关于怎么实现SQL数据库中表的定时删除和更新全部的内容,包括:怎么实现SQL数据库中表的定时删除和更新、如何定时删除SQL数据库、java根据它数据库里的时间字段定时隔一天删除数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存