PRAKTIKUM #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:

  • Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis. 
  • Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log. 
  • 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. 

a) Membuat database “penjualan” lalu use database penjualan, berikut Syntax dan hasilnya :

 


b) Membuat tabel produk seperti dibawah ini



Berikut hasil nya :


c) Membuat tabel log harga seperti dibawah ini


Maka tampilan nya akan seperti ini :


d) Membuat Trigger

Penjelasan Syntaks MySql 

Baris 2 – membuat sebuah trigger baru dengan nama before_produk_update 

Baris 3 – trigger ini menggunakan event BEFORE UPDATE 

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

Maka hasilnya akan seperti ini :


Uji Coba Trigger

a) Masukkan beberapa record ke tabel produk

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

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

Maka tampilannya akan seperti ini :


b) Update harga produk

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

maka hasilnya akan seperti ini :


c) 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;

maka tampilannya akan seperti ini :


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) 

maka hasilnya akan seperti ini :


b) Membuat Trigger lagi (yang sebelumnya sudah saya hapus terlebih dahulu) dengan tambahan :

nm_produk baru

nm_produk_lama

maka tampilannya akan seperti ini :


c) Uji cobakan triger yang dibuat dengan update: 

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

maka hasilnya seperti berikut :

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;





Comments

Post a Comment

Popular posts from this blog

Kegiatan Minggu Ke-8 KKN-T 15 Guwosari-Pringgading

MATERI 13 : STEGANOGRAFI

SISTEM INFORMASI INSTALASI GIZI DI RSUP DR. HASAN SADIKIN BANDUNG