当列值与当前日期匹配时,我想删除SQL数据库中的行。 我已经使用SQL Server Management Studio创建了一个用于删除数据的预定作业。我按照Video中所示的步骤进行了操作 这里的脚本类型是T-SQL,我给出的命令是:
Delete from NewDB.dbo.Datetabel where Date=getDate();
COMMIT
我想每天安排这份工作。但现在为了测试目的,我每小时给出一次。但这项工作失败了。
我在哪里可以获得错误的详细信息。我正在研究sql2008 r2
失败的原因是什么? 编辑: 现在,当代码更改为:
时,工作正在取得成功BEGIN TRAN
Delete from NewDB.dbo.Datetabel where Date=getDate();
COMMIT;
但不会从表格中删除数据。 现在可能有什么问题?
提前致谢。
答案 0 :(得分:0)
BEGIN TRAN
Delete from NewDB.dbo.Datetabel
WHERE convert(varchar(10), getdate(), 111) = convert(varchar(10), Date, 111)
COMMIT
答案 1 :(得分:0)
根据Ozren的建议,我添加了“BEGIN TRAN”来删除错误。 并且它的代码正常工作:
BEGIN TRAN
Delete from NewDB.dbo.Datetabel where DATEDIFF(day, Date, GETDATE()) = 0
COMMIT;