目的:大量删除数据库记录

环境:SQL SERVER 2012

说明:因需一次性大量删除数数据库记录,但是环境限制,日志大小和空间有限,故分阶段删除

做法:

  1. 语句如下

  2. 说明:重点  IF @@rowcount < 5000 BREAK;

1
2
3
4
5
6
7
8
9
10
11
12
13
WHILE 1 = 1

BEGIN

DELETE TOP(5000) FROM [dbo].[CardEvent]

WHERE Event_Date < '2013/01/01';



IF @@rowcount < 5000 BREAK;

END