SQL выглядит так, как будто он удаляет записи из самоссылающейся таблицы. В частности, это выглядит как удаление родительских записей без дочерних элементов. NumOfDelRec, вероятно, содержит количество записей, затронутых sql, то есть количество удаленных строк. Таким образом, похоже, что он продолжает работать, удаляя родительские записи без дочерних элементов, пока количество удаленных записей не будет равно 0.
Вероятно, это циклы, поэтому если родительская запись не имеет дочерних элементов, она удаляется. Однако если он сам был дочерним, его родительская запись не была удалена на первом проходе, но будет перехвачена на втором проходе и т. Д.
Вы не упомянули вид используемого вами сервера базы данных, но с сервером sql вы можете выполнить цикл while, который описан здесь по адресу MSDN http://msdn.microsoft.com/en-us/library/ms178642.aspx Это, вероятно, сработает.
Я не уверен, что это именно то, о чем вы просите, но я верю, что именно это делает код.