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
maka akan menghasilkan table seperti dibawah ini :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;
ID NAMEtentu sebelum kita membuat trigger ini kita harus membuat sequence untuk table, untuk pembuatan sequence tersebut bisa kita lakukan dengan code dibawah ini :
———- ——————————
1 Jon
2 Bork
3 Matt
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 :) 
0 komentar:
Posting Komentar