Penulis  : Boby Siswanto

Artikel ini akan membahas tentang Membuat Perintah SQL Insert Otomatis Pada Oracle Database Dengan Trigger. Saat ini semua aplikasi komputer baik desktop, web maupun mobile telah menggunakan database. Database merupakan tempat penyimpan data dan digunakan oleh aplikasi untuk menyimpan data transaksi dengan sifat dapat ditambah, diubah, dihapus atau dilihat kembali. Sebagai contoh kita mengirimkan pesan melalui aplikasi email dan orang yang kita tuju akan membaca pesan tersebut kapanpun dengan menggunakan media apapun (komputer ataupun gadget). Sebenarnya secara teknis, pesan yang kita kirimkan akan disimpan pada sebuah database.

Oracle database merupakan sebuah database yang ada saat ini. Oracle database memiliki Database Management System (DBMS) untuk melakukan pengelolaan datanya. Salah satu fitur objek yang ada pada Oracle database adalah Trigger. Trigger merupakan fitur yang dapat melakukan aksi secara otomatis ketika sebuah table / view mengalami proses Insert / Update / Delete. Trigger sendiri harus ditempelkan pada table atau view agar dapat beroperasi.

Berikut ini langkah-langkah untuk menggunakan trigger agar dapat melakukan insert data otomatis pada Oracle database:

  1. Buat sebuah table

CREATE TABLE testing_tbl(

id NUMBER,

name VARCHAR2(30),

start_date DATE,

completed_date DATE,

status NUMBER DEFAULT 0,

fudue DATE,

CONSTRAINT pk1 PRIMARY KEY(id)

);

 

  1. Buat Sequence + Trigger untuk generate autonumber pada atribut kunci table

CREATE SEQUENCE test_seq;

 

CREATE OR REPLACE TRIGGER test_trg

BEFORE INSERT

ON testing_tbl

FOR EACH ROW

BEGIN

SELECT test_seq.NEXTVAL INTO :NEW.id FROM dual;

END;

/

 

  1. Buat view

CREATE OR REPLACE VIEW testing_trig_view AS SELECT * FROM testing_tbl;

 

  1. Buat Trigger untuk insert otomatis

CREATE OR REPLACE VIEW testing_trig_view AS SELECT * FROM testing_tbl;

CREATE OR REPLACE TRIGGER testing_trg

INSTEAD OF INSERT

ON testing_trig_view

BEGIN

IF :NEW.completed_date IS NOT NULL AND :NEW.status = 1 THEN

INSERT INTO testing_tbl (name, start_date, completed_date, status) VALUES(:NEW.name, :NEW.start_date, :NEW.completed_date, :NEW.status);

INSERT INTO testing_tbl (name, status, fudue) VALUES (‘Next Name’, 0, ADD_MONTHS(:NEW.completed_date, 11));

ELSE

INSERT INTO testing_tbl (name, start_date) VALUES(:NEW.name, :NEW.start_date);

END IF;

END;

/

 

  1. Uji coba dengan melakukan insert pada view

INSERT INTO testing_trig_view (name, start_date, completed_date, status) VALUES (‘One’, TO_DATE(’10-JAN-19′,’DD-MON-YY’), TO_DATE(’20-JAN-19′,’DD-MON-YY’), 1);

 

  1. Cek isi table

Demikian artikel tentang Membuat Perintah SQL Insert Otomatis Pada Oracle Database Dengan Trigger. Semoga dapat bermanfaat dan menambah wawasan para pembaca. Jika ada pertanyaan seputar Oracle database dapat ditanyakan melalui email boby.siswanto@gmail.com atau mengunjungi website penulis di www.developapex.com.

Wassalam – Bobsis’19