Blog

0

Mendapatkan Last Insert ID di CodeIgniter menggunakan ADODB Database Oracle

Terkadang ada suatu kasus dimana kita membutuhkan fungsi untuk mendapatkan last insert id dari sebuah auto generated key.Di oracle, query yang diperlukan untuk melakukan hal ini adalah dengan query sebagai berikut:

BEGIN
INSERT INTO ES_REVENUE_MAIN (RM_DOKET, RM_TARIKH, USER_ID, STATUS, RM_PROCESS_DATE) values (:RM_DOKET, :RM_TARIKH, :USER_ID, :STATUS, SYSDATE)
RETURNING RM_ID INTO :RM_ID;END;

Lalu bagaimana untuk mendapatkan hasil dari return query sql di oracle? Di library AdoDB untuk PHP ada fungsi prepareSP yang bisa menyimpan hasil return sebuah fungsi sql di oracle ke sebuah variable. Berikut adalah contoh potongan kode bagaimana mendapatkan last insert ID dengan menggunakan framework codeignter dan library adodb di oracle

$data['RM_ID'] = 0;
$sql = ‘BEGIN
INSERT INTO ES_REVENUE_MAIN (RM_DOKET, RM_TARIKH, USER_ID, STATUS, RM_PROCESS_DATE) values (:RM_DOKET, :RM_TARIKH, :USER_ID, :STATUS, SYSDATE)
RETURNING RM_ID INTO :RM_ID;END;’;
$prepare = $this->db->prepareSP($sql);
$this->db->inParameter($prepare, $data['RM_DOKET'], ‘RM_DOKET’);
$this->db->inParameter($prepare, $data['RM_TARIKH'], ‘RM_TARIKH’);
$this->db->inParameter($prepare, $this->auth['name'], ‘USER_ID’);
$this->db->inParameter($prepare, $data['STATUS'], ‘STATUS’);
$this->db->outParameter($prepare, $data['RM_ID'], ‘RM_ID’);
$result = $this->db->execute($prepare);
if ($result) {
return $data['RM_ID'];
}

Comments

There are no comments yet.

Leave a Reply

Your email is never published nor shared. Required fields are marked *

*

© Copyright PT Javan Cipta Solusi 2012. All rights reserved.