Ada cara untuk mendapatkan nilai yang ditetapkan secara otomatis ke kolom:ini adalah klausa RETURNING.
Jadi, inilah urutan saya:
SQL> select emp_seq.currval from dual
2 /
CURRVAL
----------
8140
SQL>
Saya akan menggunakannya dalam pernyataan 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>
Saya mengembalikan EMPNO menjadi variabel SQL*Plus yang dapat saya cetak, dan memiliki nilai yang sama dengan CURRVAL:
SQL> print :seqval
SEQVAL
----------
8141
SQL> select emp_seq.currval from dual
2 /
CURRVAL
----------
8141
SQL>
Pertanyaan Anda selanjutnya adalah, "apakah CodeIgniter mendukung sysntax RETURNING?" Saya tidak tahu, tapi saya curiga tidak. Sebagian besar kerangka kerja non-Oracle tidak.
Selalu ada opsi untuk membungkus pernyataan INSERT dalam prosedur tersimpan, tetapi itu adalah keputusan arsitektur yang tidak disukai banyak orang.