我是SQL Server的新手,正在学习。我有一个月度Membership
表和一个名为DateTime
的{{1}}列。
我需要研究什么才能让我的SQL Server 2012每天检查过期记录并删除它们的记录。我知道SQL Server有这个功能只是想知道它叫什么,你有任何关于创建这样的东西的建议或提示..
答案 0 :(得分:1)
您可以从创建如下过程开始:
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
创建proc之后,您将需要转到对象资源管理器的底部,您将在其中看到 SQL Server代理选项。在此之下,您将看到另一个标签作业。右键单击它,然后单击New Job ...选项。您应该看到以下屏幕:
接下来转到右侧的步骤,单击New ...在新屏幕上,键入您的步骤名称,并将默认类型保留为 Transact-SQL脚本(T-SQL)
接下来转到“计划”并单击“新建...”以添加计划,以便每天运行新的存储过程。
希望这能让你得到你需要的东西!