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;














This comment has been removed by the author.
ReplyDelete