0

当列值与当前日期匹配时,我想删除 SQL 数据库中的行。我已经使用 SQL Server Management Studio 创建了一个用于删除数据的计划作业。我已经按照视频中所示的步骤进行操作 ,脚本类型是 T-SQL,我给出的命令是:

Delete from NewDB.dbo.Datetabel where Date=getDate();
COMMIT

我想每天安排这项工作。但现在出于测试目的,我按小时给出。但这项工作失败了。

我将在哪里获得错误的详细信息。我正在研究 sql2008 r2

失败的原因应该是什么?编辑:当代码更改为:

BEGIN TRAN 
Delete from NewDB.dbo.Datetabel where Date=getDate();
COMMIT;

但数据不会从表中删除。现在可能有什么问题?

提前致谢。

4

2 回答 2

0
BEGIN TRAN 
Delete from NewDB.dbo.Datetabel 
WHERE convert(varchar(10), getdate(), 111) = convert(varchar(10), Date, 111)
COMMIT
于 2012-10-30T13:36:41.647 回答
0

正如 Ozren 所建议的,我添加了“BEGIN TRAN”来消除错误。并且它的代码工作正常:

BEGIN TRAN 
Delete from NewDB.dbo.Datetabel where DATEDIFF(day, Date, GETDATE()) = 0
COMMIT;
于 2012-10-31T06:09:53.513 回答