当前位置: 代码迷 >> Sql Server >> 求一句SQL,目的是放在功课里面定期执行,清理数据
  详细解决方案

求一句SQL,目的是放在功课里面定期执行,清理数据

热度:75   发布时间:2016-04-24 08:59:33.0
求一句SQL,目的是放在作业里面定期执行,清理数据。
涉及两张表
第一张表A存放了客户设置的天数,为0时不清理数据,为1时清理1天前的数据,为7时清理7天前的数据
第二张表B存放了大量数据,以dateTime列记录的时间为准,清理表A中的那个天数之前的数据


下面是我分开写好的查询语句
表A:
SELECT value FROM [dbo].[A] WHERE   (name = 'DataClear')
这句SQL返回一条数据,这条数据的value字段存放的就是那个天数,类型是字符串

表B:
DELETE FROM [dbo].[B] WHERE (dateTime > ‘这个时间是根据表A中的那个天数计算的,我不会算’ )

请大神帮我写一下,我好放在作业里,定期清理数据。
------解决思路----------------------

DECLARE @A INT

SELECT @A=CAST(value AS INT) FROM [dbo].[A] WHERE   (name = 'DataClear')


DELETE  FROM [dbo].[B] WHERE DATEDIFF(DD,dateTime,GETDATE())>@A
  相关解决方案