0

有没有办法在 Transact-SQL 中创建 24 小时后自动删除行?

我正在制作一个网站(学习体验),用户需要在注册后单击通过电子邮件发送的验证链接。我希望用户在 24 小时内验证自己。

我想我需要的是一个触发器,但我真的不确定语法,甚至是否可能。

4

2 回答 2

17

我不确定您的架构,但我会以不同的方式进行。我将有一个与验证链接对应的数据库记录的日期/时间。当他们单击链接时,验证数据库记录的日期和时间是否在当前时间的 24 小时内。如果是,则允许,否则拒绝。

于 2012-12-22T23:55:08.853 回答
2

问:有没有办法在 Transact-SQL 中创建 24 小时后自动删除行?

答:当然。编写“sqlcmd”脚本,将其包装在 .bat 文件中,然后从 Windows 计划任务中调用它:

或者,根据您的版本,您可以从 SQL Server 代理安排相同的 SQL 脚本:

对事物进行不同的旋转:

  • 当用户单击您的链接时,您可以检查当前时间(相对于 MSSQL)是否为 >> 24 小时。如果是这样,您将回复“为时已晚”消息(而不是验证条目)。

无论如何-您绝对,完全,完全不想使用触发器!

于 2012-12-22T23:59:43.683 回答