Вверх ↑
Ответов: 211
Рейтинг: 52
#1: 2008-08-29 01:19:56 ЛС | профиль | цитата
Amig0, Возможно уже и не актуально сие решение, но реализовать можно так:
1. создаем временную таблицу temp с тем же набором полей, что и основная
2. делаем запись в нее (можно несколько)
3. сравниваем 2 SELECT'а основной и временной. По факту совпадений выдаем сообщение о дубликатах.
4. выполняем запрос INSERT INTO fio SELECT * FROM temp WHERE NOT EXISTS (SELECT DISTINCT * FROM fio WHERE f='iva' AND i='iva' AND o='iva'); копирующий все записи, за исключением дубликатов (предикат DISTINCT) и уже найденых в рабочей базе
5. таблицу temp удаляем.

зы. предыдущий запрос проверял на Oracle RDB/VMS на работе - прокатило
ззы. сейчас опять теоретически, но вроде все правильно
карма: 1
слтв
0