Uploaded by boby.siswanto

Membuat Perintah SQL Insert Otomatis Pada Oracle Database Dengan Trigger

advertisement
Membuat Perintah SQL Insert Otomatis Pada Oracle Database Dengan Trigger
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)
);
2. 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;
/
3. Buat view
CREATE OR REPLACE VIEW testing_trig_view AS SELECT * FROM testing_tbl;
4. 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;
/
5. 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);
6. 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
Download