代码之家  ›  专栏  ›  技术社区  ›  Charles

SQL Server 2000:限制行数

  •  2
  • Charles  · 技术社区  · 16 年前

    有没有一种方法可以限制SQL Server 2000数据库中的行数,以便在新的行出现时删除旧的行?

    我有一些数据,我想保留大约30天-在那之后,我不关心数据是在周围还是被删除-只要表不变得巨大。

    任何其他建议或欢迎-我对数据库编程很在行,但我绝对不是DBA。

    谢谢。

    2 回复  |  直到 16 年前
        1
  •  5
  •   Eric    16 年前

    不明确。但是,您可以设置 TRIGGER INSERT 以便数据库删除任何超过30天的行(因此,您只会在添加更多行时删除行,而不仅仅是为了删除行)。或者,可以使用SQL Server代理并设置存储过程来执行

    delete from table where insertdate <= dateadd(d, -30, getdate())

        2
  •  3
  •   marc_s    16 年前

    实现这一点的典型方法是创建一个存储过程或一块删除旧条目的T-SQL代码,并让这个T-SQL块每晚、每周或您需要的任何时间运行。

    没有一个内置的系统来限制行的数量,并且让SQL Server自动剔除最旧的行。

    马克