и при insert с идентичным inn выходит ошибка, ок так и должно быть. Но, когда в запросе добавляю ON CONFLICT (inn) DO NOTHING RETURNING inn ничего не возвращает, а работает наоборот когда нету ошибок он возвращает все inn. Где я не правильно написал? insert into abonents_service_4115(inn,fio) values ('202091988011','ivanov ivan') ON CONFLICT (inn,fio) DO NOTHING RETURNING inn; ?
RETURNING именно так и работает. Мы в своё время искали методы просто вернуть строки, которые не вставились -- ничего хорошэго не нашли. Можно или ON CONFLICT вызывать какую-нибудь функцыю, которая журналирует это, или вставлять из CTE и потом возвращать своего рода разность между этой CTE и результатом returning.
А то что я хочу сделать можно как то попроще реализовать?
Я, кажэтся, ровно в том сообщении ответил ровно на этот вопрос.
Обсуждают сегодня