Er is een manier om de waarde automatisch aan een kolom toe te wijzen:het is de RETURNING-component.
Dus, hier is mijn volgorde:
SQL> select emp_seq.currval from dual
2 /
CURRVAL
----------
8140
SQL>
Ik ga het gebruiken in een INSERT-statement:
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>
Ik heb de EMPNO teruggestuurd naar een SQL*Plus-variabele die ik kan afdrukken, en deze heeft dezelfde waarde als CURRVAL:
SQL> print :seqval
SEQVAL
----------
8141
SQL> select emp_seq.currval from dual
2 /
CURRVAL
----------
8141
SQL>
Uw volgende vraag is, "ondersteunt CodeIgniter de RETURNING-sysntax?" Ik heb geen idee, maar ik vermoed van niet. De meeste niet-Oracle-frameworks niet.
Er is altijd de mogelijkheid om de INSERT-instructie in een opgeslagen procedure in te pakken, maar dat is een architecturale beslissing waar veel mensen een hekel aan hebben.