BASIS DATA TRIGGER

 PRAKTIKUM PERTEMUAN 8 (TRIGGER)

TRIGGER

Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. 

*Trigger sering digunakan, antara lain untuk:

1. Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis. 

2. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log. 

3. Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan

*Membuat Trigger Baru

Berikut ini bentuk umum perintah untuk membuat triggers:

CREATE TRIGGER name

[BEFORE|AFTER] [INSERT|UPDATE|DELETE]

ON tablename

FOR EACH ROW statement

dimana

BEFORE | AFTER digunakan untuk menentukan kapan proses secara otomatis akan

dieksekusi, sebelum atau sesudah proses.

*Latihan dan Studi Kasus

Membuat fitur yang mencatat log perubahan harga barang pada sebuah database penjualan.

1. Membuat database penjualan kemudian use data base penjualan,


2. Membuat tabel produk,






3.Membuat tabel log harga,





4.Membuat Trigger,
*Penjelasan Syntaks MySql 

a) Baris 2 – membuat sebuah trigger baru dengan nama before_produk_update 

b) Baris 3 – trigger ini menggunakan event BEFORE UPDATE 

c) Baris 6 – Query SQL untuk melakukan insert data ke tabel log_harga



Uji Coba Trigger,

1. Masukkan beberapa record ke tabel produk, contoh

INSERT INTO produk VALUES ('ATK001','PENSIL',12000);
INSERT INTO produk VALUES ('ATK002','PENGHAPUS',8000);


2. Update harga produk, contoh

update produk set harga=10000 WHERE kd_produk='ATK001'


3. Membuktikan Trigger

Trigger akan berhasil jika di dalam tabel tujuan trigger, yang dalam contoh ini adalah tabel log_harga secara otomatis akan terdapat record baru,

select * from log_harga;


TUGAS PRAKTIKUM PERTEMUAN KEDELAPAN

Pada tabel log_harga tambahkan field:

nm_produk_baru dengan tipe data varchar (100) 

nm_produk_lama dengan tipe data varchar (100) 


a) Membuat Table log_harga lagi (yang sebelumnya sudah saya hapus terlebih dahulu) dengan tambahan field :

nm_produk_baru dengan tipe data varchar (100) 

nm_produk_lama dengan tipe data varchar (100)



b) Membuat trigger;

dengan menambah:

nm_produk baru
nm_produk lama



c) Uji coba trigger yang telah dibuat dengan update:

update produk set nm_produk=PENGGARIS WHERE kd_produk='ATK001';



d) Membuktikan Trigger

Trigger akan berhasil jika di dalam tabel tujuan trigger, yang dalam contoh ini adalah tabel log_harga secara otomatis akan terdapat record baru

select * from log_harga;




Nb:
*Pada pembuatan syntax log_harga perlu menghapus syntax yang lama dengan drop table log_harga; agar tidak ganda.
*Pada pembuatan trigger yang ke 2,hapus  terlebih dahulu trigger yang pertama sebelum membuat baru dan menambahkan, dengan drop trigger
 before_produk_update; agar tidak terjadinya error.

Sekian, Terimakasih😁

Komentar

Postingan Populer