Вернуть ошибку для повторяющейся записи Postgresql - PullRequest
0 голосов
/ 21 мая 2018

Предположим, у меня есть таблица в postgres с первичным ключом, созданным в c #.Я пытаюсь вставить ключ, который является дубликатом и попытается вернуть ошибку, если такое событие произошло.Я намеренно вставляю дубликат записи, чтобы симулировать ошибку.Дело в том, что если у меня есть команда вставки, которая еще не была зафиксирована с использованием NPGSL TRANSACTION, то по какой-то причине код останавливается прямо перед разделом COMMIT, и другой пользователь создает PRIMARY KEY, который генерирует тот же ключ, так как первая транзакция не являетсясовершено еще и вставляется плавно.Первая транзакция при выполнении COMMIT вызовет исключение.Это то, что я имею в виду, но оно не работает.

 command = new NpgsqlCommand(strQuery, conn);
        if (command.ExecuteNonQuery() > 0)
            return true;
        else
           throw new Exception("Data not inserted. Create new Transaction");

Этот код останавливается при запуске executetenonquery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...