Существует хорошая статья о дубликаты удаления на Microsoft Support site. Это довольно консервативно - они сделали, чтобы Вы сделали все на отдельных шагах - но это должно работать хорошо против больших таблиц.
я использовал самосоединения, чтобы сделать это в прошлом, хотя это мог, вероятно, быть prettied с пунктом НАЛИЧИЯ:
DELETE dupes
FROM MyTable dupes, MyTable fullTable
WHERE dupes.dupField = fullTable.dupField
AND dupes.secondDupField = fullTable.secondDupField
AND dupes.uniqueField > fullTable.uniqueField
Вы имеете в виду java.lang.ThreadLocal
. На самом деле это довольно просто, это просто карта пар имя-значение, хранящаяся внутри каждого объекта Thread
(см. Поле Thread.threadLocals
). API скрывает эту деталь реализации, но это более или менее все, что нужно сделать.
Это явно не самое маленькое решение, но я все равно решил опубликовать его, просто для удовольствия. :) NB: командный файл использует временный файл с именем $ для хранения временных результатов.