Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Игнорирование ошибки дублирования примари при вставке / 5 сообщений из 5, страница 1 из 1
20.08.2007, 23:28
    #34740291
Соziдатель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорирование ошибки дублирования примари при вставке
Здравствуйте.

Я пополняю одну таблицу на основе запроса (INSERT INTO table SELECT…). За раз вставляется множество строк.

Есть ли какая-нибудь возможность (без привлечения тригеров) сделать так, чтобы Postgree вставил всё, что возможно, не останавливая процесс, столкнувшись с дублированием PRIMARY KEY?

Т.е. хочется как-нибудь отключить прерывание операции из-за ошибок. Ну не получилось вставить некоторые строки, ну и фиг с ними.
...
Рейтинг: 0 / 0
20.08.2007, 23:33
    #34740304
Соziдатель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорирование ошибки дублирования примари при вставке
Не буду скрывать, что мне для счастья нужно бы реализовать REPLACE (of MySQL) подобное поведение и я был бы рад конкретному HOW TO с описанием как сие сделать с помощью триггера и хранимой процедуры (код). Причем никаких дополнительных языков у меня тоже нет, поэтому буду рад узнать, как добавить тот, на котором все пишут :)
...
Рейтинг: 0 / 0
21.08.2007, 08:48
    #34740507
Rastafarra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорирование ошибки дублирования примари при вставке
insert into table select () where not exist (select id from table where id not in (...))

?
...
Рейтинг: 0 / 0
21.08.2007, 09:09
    #34740530
Serik Akhmetov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорирование ошибки дублирования примари при вставке
Рекомендую для начала прочесть FAQ и воспользоваться поиском.
Потом четко сформулировать вопросы, на которые ответ не нашелся.
...
Рейтинг: 0 / 0
21.08.2007, 15:45
    #34742115
Соziдатель
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Игнорирование ошибки дублирования примари при вставке
Rastafarra, спасибо за наводку, чего-то я вчера так заморочился, что не додумался.
В результате я еще в данно-собирающем запросе исключил те, которые уже есть в результирующей таблице.
Код: plaintext
1.
2.
3.
4.
INSERT INTO dog_recurr 
(SELECT p1.id, p2.color_id, true FROM pedigree AS p1, pedigree AS p2
WHERE (p1.id=p2.father_id OR p1.id=p2.mother_id) AND p1.color_id!=p2.color_id AND p1.color_id IS NOT NULL
GROUP BY p1.id, p2.color_id
HAVING NOT EXISTS (SELECT  1  FROM dog_recurr WHERE dog_id=p1.id AND color_id=p2.color_id))

Serik Akhmetov, честно вчера проторчал на форуме довольно долго, поначитался, и видно опух, не дойдя до нужной мне информации. Впредь посторяюсь быть более настойчивым в поисках готовых ответов.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Игнорирование ошибки дублирования примари при вставке / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]