कॉलम को स्वचालित रूप से असाइन किया गया मान प्राप्त करने का एक तरीका है:यह रिटर्निंग क्लॉज है।
तो, ये रहा मेरा क्रम:
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 RETURNING sysntax का समर्थन करता है?" मुझे कोई जानकारी नहीं है, लेकिन मुझे संदेह है कि ऐसा नहीं है। अधिकांश गैर-Oracle फ़्रेमवर्क ऐसा नहीं करते हैं।
एक संग्रहीत प्रक्रिया में INSERT कथन को लपेटने का विकल्प हमेशा होता है, लेकिन यह एक वास्तुशिल्प निर्णय है जिसे बहुत से लोग नापसंद करते हैं।