写一个sql存储过程从表中删除数据?

Mac*_*que 3 c# stored-procedures sql-server-2008

我有一个简单的应用程序,它将数据存储到名为 student 表的 sql server 数据库表中。表的设计如下 3 列。姓名、性别和注册时间(日期时间)。在我的 WPF 窗口中,我有三个字段可以将数据插入到表中。现在我想根据用户提供的输入(这是一个日期时间选择器)使用删除按钮。

如何从表中删除与用户提供的日期相比已有 7 天的数据。?

我想要一个可以从 c# 代码调用的存储过程。我可以尝试这样的事情,Select * from studenttable where registereddate < GetDate()-7但是我无法实现我应该做的......

Abe*_*ler 6

您可能需要使用DATEADD函数:

DELETE StudentTable
WHERE DATEADD(day,-7,GetDate()) > registeredDate
Run Code Online (Sandbox Code Playgroud)

确保首先执行等效的选择以确保删除您想要的内容:

SELECT * FROM StudentTable
WHERE DATEADD(day,-7,GetDate()) > registeredDate
Run Code Online (Sandbox Code Playgroud)

您的存储过程看起来像这样:

CREATE PROCEDURE DeleteRecent AS
BEGIN
    DELETE StudentTable
    WHERE DATEADD(day,-7,GetDate()) > registeredDate
END
GO
Run Code Online (Sandbox Code Playgroud)