当前位置: 首页 > 面试题库 >

一定时间后如何自动删除sql server中的记录

佟颖逸
2023-03-14
问题内容

我已经在sql数据库上设置了临时用户帐户,该帐户存储了我的网站用户的用户名,密码和添加日期。

我最初打算以编程方式删除这些记录,但是现在我想知道sql server 2008是否具有内置功能,该功能允许在假设某天后自动删除记录。

这将解决用户在关闭其临时帐户后仍能够保持登录系统的问题

谢谢


问题答案:

您可能无需实际删除记录就可以得到所需的内容。您可以将计算列添加到表中以说明记录是否有效。

 IsValid as (case when getdate() - CreatedAt > 1 then 0 else 1 end)

您还可以对记录中的关键字段执行此操作,因此找不到它们:

_name varchar(255),
name as (case when getdate() - CreatedAt < 1 then _name end)

然后,您可以使用视图来访问表:

create vw_Logins as
    select name, . . .
    from t
    where isValid = 1;

然后,出于性能原因,如果需要,您可以根据需要实际上删除行。

编辑:

如果将视图表示为以下形式,则实际上不需要计算列:

create vw_Logins as
    select name, . . .
    from t
    where getdate() - CreatedAt < 1;


 类似资料:
  • 问题内容: 我想在7天后从我的MySQL数据库中删除一些消息。 我的消息表行具有以下格式:id | 留言| 日期 日期是标准格式的时间戳。2012-12-29 17:14:53 我当时以为MySQL事件将成为替代cron工作的方式。 我想对有经验的SQL人员来说,这是一个简单的问题,如何在下面的括号中编写删除消息部分的代码? 一个例子,将不胜感激,谢谢。 问题答案: 您可以尝试使用以下条件: 这样

  • 我创建了一个应用程序来上传使用PHP,Javascript和WAMP服务器的图像。我需要在一段时间后自动删除上传的图像,比如X分钟。如何实现这一点? 谢谢...

  • 问题内容: 我想知道如何在日期过期时自动删除记录,我正在创建机票预订网站。我需要从mysql数据库中删除所有过期的航班详细信息。我读过可以使用cron的地方,但我不知道该怎么做。脚本的任何帮助将非常有帮助。 问题答案: 您可以尝试使用MySQL : 注意 ,需要在服务器上启用MySQL Event Scheduler : 更多信息在这里。

  • 数据库中的DATE字段具有以下格式: 我想从日期中删除时间并返回如下日期:

  • 问题内容: 我有一个这样的 LoginTime 表: 我想删除的最后一条记录。用户的最后一条记录可以通过识别。 如何使用一个查询执行此操作。 问题答案: 您需要按user_id(例如WHERE user_id = 1)过滤表,然后按时间(例如ORDER BY datetime)对其进行排序,然后将查询限制为一项(例如LIMIT1),然后删除此查询的结果。最后,您将获得如下查询:

  • 问题内容: 我有一个带有主键字段且具有AUTO_INCREMENT的MySQL表。在阅读了这里的其他文章后,我发现人们遇到了同样的问题,答案也各不相同。有些人建议不要使用此功能,其他人则说它不能被“修复”。 我有: 示例:表中的记录数:18.如果我删除记录16、17和18-我希望输入的下一条记录的courseID为16,但是由于最后输入的courseID为18,所以它将为19。 我的SQL知识不是