Category: it

Category was added automatically. Read all entries about "it".

Diagonal

OCIStmtExecute problem

Есть набор записей (0, 1, 2, 3, 4, 5) с некоторым количеством полей.
Есть primary key в таблице.
Есть insert into... sql statement.

Ситуация 1.
Пусть запись 2  со значением поля, соответствующему PK, значение, которое уже есть в базе, в остальных - отличается.
Если прибиндить весь массив и попытаться сделать OCIStmtExecute , то вставятся записи 0 и 1.
Всё отлично. Так и должно быть - после commit записи видны в других сессиях.

Ситуация 2.
Пусть в записях 1 и 2 значения полей, соответствующиз PK совпадают между собой, но отсутствуют в базе. Остальные - тоже отсутствуют.
Делается такой же OCIStmtExecute. В ответ я ожидаю, что по крайней мере запись 0 добавится в базу. Но этого не происходит.
(nb: во втором случае, естесственно также делается commit)

Вопрос - куда копать. Вдруг кто знает.