How to Delete record in Batches from Main table and sub tables
-- Delete in batches declare @ rc1 int ; --record count declare @ rc2 int ; --record count declare @ rc3 int ; --record count set @ rc1 = 1 ; set @ rc2 = 1 ; set @ rc3 = 1 ; while (@ rc1 > 0 OR @ rc2 > 0 OR @ rc3 > 0 ) begin --deleting by sets of 10,000 --1. delete top ( 10000 ) from Employee where Employeerecordid in ( '1' , '2' , '3' , '4' ) set @ rc1 = @@ ROWCOUNT ; --2. delete top ( 10000 ) from employeedegree where Employeerecordid in ( '1' , '2' , '3' , '4' ) set @ rc2 = @@ ROWCOUNT ; --3. delete top ( 10000 ) from employeeexperiance where Employeerecordid in ( '1' , '2' , '3' , '4' ) set @ rc3 = @@ ROWCOUNT ; end