SQL对一个表计时,如果此表超过一小时就删除

来源:百度知道 编辑:UC知道 时间:2024/06/22 09:14:22
比如这个表叫t0909_aa 创建时间是2009-9-28日11:53分.等到12:53时就删除这个表.
每当这个表用了一个小时后就删除.

drop table t0909_aa where
(select (cast(substring(convert(char(16),getdate(),120),12,2) as int)-cast(substring(convert(char(16),crdate,120),12,2) as int)- from sysobjects where name='t0909_aa'))>1

应该可以实现的!

用作业实现调度以下语句就行了

use 数据库
go
declare @s nvarchar(2000)
set @s=char(13)+char(10)
select 'Drop table ['+Name+']'
from sysobjects
where Crdate<dateadd(hh,-1,getdate()) --1小时前的创表
and datediff(hh,Crdate,getdate())<=2--2小时内的创表

exec(@s)

创建表的时候同时创建一个对应的计划任务就可以了,设置为过1个小时就会自动执行