Удалить повторяющиеся записи

xyz
Дата: 16.12.2002 15:11:04
Проблема вот в чем. Есть таблица без ключевого поля. Некоторые записи в ней дублируются в результате ошибочного ввода данных. Нужно удалить повторяющиеся данные оставив только по 1 записи.
VVG_
Дата: 16.12.2002 15:14:16
Проще всего изменить в ЕМ какое-нибудь поле NULL->NOT NULL. потом сгенерировать скрипт, в скрипте поставить null-ность обратно и добавить distinct в копирование таблицы.
jimmers
Дата: 16.12.2002 15:17:06
SELECT DISTINCT * INTO #TMP FROM MyTable

DELETE MyTable
INSERT MyTable SELECT * FROM #TMP
VVG_
Дата: 16.12.2002 15:22:06
Так тоже можно, только пермишены, триггеры и констрэйнты могут потеряться.
jimmers
Дата: 16.12.2002 15:26:39
2VVG_:

Это как это могут потеряться пермишены?
Триггеры тоже не потеряются, другой вопрос, что может потребуется их отрубить временно.
Констрэйнты - какие тут констрэйнты, если у человека ключа нет.
VVG_
Дата: 16.12.2002 15:29:26
Сорь, не рассмотрел. Думал drop table и insert into обратно.
Genady
Дата: 16.12.2002 15:36:49
Да только нужно помнит что distinct относится ко всей строке.
Например строки
Фамилия Имя отчество
Иванов Иван Иванович
Иванов И. И.

будут разными.
jimmers
Дата: 16.12.2002 15:40:28
Ну так можно далеко зайти. Удалить, скажем, всех родственников, оставив только старшего :)