Membuat Triger Dalam Oracle


Halo sobat, belum lama ini saya mendapat problem dalam insert data ke dalam database oracle. Walaupun sudah terdapat sequence untuk table, namun tetap ID tidak auto increment saat saya insert langsung melalui query dalam toad oracle. setelah browsing-browsing akhirnya ketemu juga caranya. berikut saya share sekalian sebagai dokumentasi agar saya tidak lupa, semoga bermanfaat :)

CREATE OR REPLACE TRIGGER test_trigger
BEFORE INSERT
ON test
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT test_sequence.nextval INTO :NEW.ID FROM dual;
END;
sebagai catatan disini test_trigger  merupakan nama triger yang akan kita buat, trigger ini dibuat berdasarkan table test dan sequence test_sequence. Dengan triger ini maka kita tidak perlu repot lagi memikirkan ID untuk setiap field dalam table karena system akan otomatis menggenerate ID. 
kita kasih contoh
SQL> INSERT INTO test (name) VALUES ('Jon');
1 row created.
SQL> INSERT INTO test (name) VALUES (’Bork’);
1 row created.
SQL> INSERT INTO test (name) VALUES (’Matt’);
1 row created.
SQL> SELECT * FROM test;
maka akan menghasilkan table seperti dibawah ini :
ID NAME
———- ——————————
1 Jon
2 Bork
3 Matt
tentu sebelum kita membuat trigger ini kita harus membuat sequence untuk table, untuk pembuatan sequence tersebut bisa kita lakukan dengan code dibawah ini :
CREATE SEQUENCE test_sequence
START WITH 1
INCREMENT BY 1;
Demikian kawan, ilmu yang baru saya dapatkan, untuk sama - sama kita belajar, apabila ada kesalahan saya mohon maaf dan mohon koreksinya. Thanks :)

SHARE ON:

Hello guys, I'm Tien Tran, a freelance web designer and Wordpress nerd. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae.

    Blogger Comment

0 komentar:

Posting Komentar