Есть способ получить значение, автоматически назначаемое столбцу: это предложение RETURNING.
Итак, моя последовательность:
SQL> select emp_seq.currval from dual
2 /
CURRVAL
----------
8140
SQL>
Я собираюсьиспользуйте его в операторе INSERT:
SQL> var seqval number
SQL> insert into emp
2 (empno, ename, deptno, sal, job)
3 values
4 (emp_seq.nextval, 'JELLEMA', 50, 4575, 'PAINTER')
5 returning empno into :seqval
6 /
1 row created.
SQL>
Я вернул EMPNO в переменную SQL * Plus, которую я могу вывести, и он имеет то же значение, что и CURRVAL:
SQL> print :seqval
SEQVAL
----------
8141
SQL> select emp_seq.currval from dual
2 /
CURRVAL
----------
8141
SQL>
ВашСледующий вопрос: «Поддерживает ли CodeIgniter ВОЗВРАЩАЕМЫЙ sysntax?»Понятия не имею, но подозреваю, что нет.Большинство не-Oracle каркасов этого не делают.
Всегда есть возможность обернуть оператор INSERT в хранимую процедуру, но это архитектурное решение, которое многим не нравится.