我是 SQL Server 新手,正在学习。我有一个每月的 Membership
表和一个名为 Expiration
的 DateTime
列。
我必须研究什么才能让我的 SQL Server 2012 每天检查过期记录并删除它们。我知道 SQL Server 有这个功能,只是想知道它叫什么,您对创建这样的东西有什么建议或技巧吗?
最佳答案
您可以首先创建如下过程:
USE [DatabaseName]
GO
/****** Object: StoredProcedure [dbo].[sp_ProcedureName] ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[sp_ProcedureName]
AS
SET NOCOUNT ON
DECLARE @expirationdatetime datetime;
SET @expirationdatetime = getdate()
BEGIN
DELETE FROM [TableName]
WHERE Expiration < @expirationdatetime
END
创建过程后,您将需要转到对象资源管理器的底部,您将在其中看到一个选项SQL Server Agent。在其下方,您将看到另一个选项卡工作。右键单击它,然后单击“新建作业...”选项。您应该看到以下屏幕:
接下来转到右侧的步骤,单击新建...在新屏幕上,输入步骤名称并将默认类型保留为 Transact-SQL 脚本(T-SQL) .
接下来转到“计划”并单击“新建...”以添加计划以每天运行新的存储过程。
希望这能让您得到您所需要的!
关于sql - 如何让SQL Server 2012删除过期记录并每天检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29684695/