В Oracle вы должны были создать последовательность оракулов для таблиц, для которых требуется столбец с автоинкрементом.
Если вы хотите вставить, то вы можете сделать это одновременно, а не запросить nextIncrementId
ивставьте как показано ниже:
$sh = $conn->prepare("INSERT INTO table (id, data) VALUES(SEQUENCE_NAME.NEXTVAL, ?)");
$sh->execute(array($valueToBeInsertedInDataColumn));
Если вы просто хотите узнать последний идентификатор вставки, тогда не использует nextval, потому что всякий раз, когда вы его вызываете, оно увеличивает значение до следующего.Вы должны использовать CURRVAL для этой цели .Ниже приведен пример:
$sh = $conn->prepare("SELECT SEQUENCE_NAME.CURRVAL AS lastInsertId FROM DUAL");
$lastInserId = $sh->execute();
Отладка: print_r($lastInserId);