有没有办法限制SQL Server 2000数据库中的行数,以便在新的行进入时删除较旧的行?
我有一些数据,我想保留大约三十天 - 之后,我不关心数据是否存在或被删除 - 只要表格不会变大。 / p>
任何其他建议或欢迎 - 我对数据库编程很体面,但我绝不是DBA。
感谢。
答案 0 :(得分:5)
不明确,不。但是,您可以在TRIGGER
上为数据库设置INSERT
以删除超过30天的任何行(因此,只有在添加更多行时才删除行,而不仅仅是为了它)。或者,您可以使用SQL Server代理并设置存储过程来执行
delete from table where insertdate <= dateadd(d, -30, getdate())
答案 1 :(得分:3)
执行此操作的典型方法是创建存储过程或一大块T-SQL代码,删除旧条目,并让每晚或每周运行这块T-SQL或任何您需要的东西。< / p>
没有系统内置的方法来限制行数,让SQL Server自动抛出最旧的行。
MARC