Pokok Bahasan
Trigger
Petunjuk
Pembahasan Materi
TRIGGER artinya pelatuk atau pemicu. Tigger difungsikan sebagai pemicu pada sebuah proses
dalam ssuatu database, misalnya pada sebuah tabel. Trigger juga berfungsi untuk menyisipkan fungsi
saat record tersebut mengalami perubahan (insert, delete ataupun update)
1. Dengan trigger dapat dengan mudah mencari data yang berubah, siapa yang melakukan
perubahan, dan kapan dilakukan perubahan.
2. Jika terjadi perubahan, program trigger akan secara otomatis memberikan sinyal program
lain untuk mengeksekusi sesuatu.
3. Memanggil fungsi/ procedure secara otomatis
A. Membuat Trigger
Trigger dapat dibagi menjadi dua jenis antara lain:
1. After : terdiri atas after delete, insert, update
2. Before : terdiri before delete, insert, update
Sintak
Create
trigger_time: Waktu menjalankan trigger: ini dapat berupa BEFORE atau AFTER
BEFORE membuat trigger diaktifkan sebelum dihubungkan dengan suatu
operasi.
Affter : membuat trigger diaktifkan setelah dihubungkan dengan suatu
operasi.
trigger_event : berupa kejadian yang akan dijalankan Trigger
Insert : trigger diaktifkan ketika sebuiah record baru disisipkan ke dalam
tabel. Contoh statemen insert, load data, dan replace
Update : trigger diaktifkan ketika sebuah record dimodifikasi contoh :
update
Delete : trigger diaktifkan ketika sebuah record dihapus. Contoh statemen
delete dan replace
trigger _event tidak merepresentasikan statemen SQL yang diaktifkan trigger
sebagai suatu operasi tabel.
tbl_name : nama tabel yang berasosiasi dengan trigger
trigger_stmt :statemen (tunggal atau jamak) yang akan dijalankan ketika trigger aktif.
Praktikum 1:
OLD.col_name untuk mendapatkan nilai dari field sebelum record di update atau di
delete
NEW.col_name untuk mendapatkan nilai dari field setelah record di update atau
redord yang baru di insert
Sebagai contoh pada trigger BEFORE UPDATE, untuk mendapatkan nilai dari field saldo
sebelum field ini diupdate gunakan pernyataan OLD.saldo dan untuk mendapatkan nilai field
ini setelah di-update kita gunakan pernyataan NEW.Saldo
Contoh:
Saldosebelum = OLD.saldo
Saldosesudah = NEW.saldo
Praktikum 2:
6. Lakukan perubahan harga pada br-001 yang semuala 2000 menjadi 2200
7. Setelah harga dilakukan perubahan maka cek kembali tabel produk dan tabel log
Latihan 1
1. Buat database gaji_karyawan
2. Buat table karyawan
No Nama Tanggal lahir Alamat gol
karyawan
N-01-01 Amin awaludin 1976-04-24 Jl Raya Buaran no 2.a
80 pekalongan
N-01-02 Rahmat 1978-06-25 Jl kali malang no 3.a
60 Batang
N-01-03 Tuti Kusuma 1983-05-06 JL intan gg 2 no 25 3.a
Wardani Pemalang
N-01-04 Yulianto 1985-05-07 Jl kalimalang gg 4 2.a
no 23 Batang
C. Otomatisasi proses
Salah satu penggunaan trigger adalah melakukan otomatisasi update tabel lain setelah proses DML
terjadi pada suatu tabel. Sehingga contoh membuat trigger yang otomatis akan mengurangi atau
menambah jumlah stok pada proses penjualan dan pembelian barang
Langkah praktikum:
Latihan 2
1. Buat database perpustakaan
2. Buat table bukuxxxx
Kode buku Judul stok_buku
B-01 Matematika kelas 5 25
B-02 IPA kelas 2 22
B-03 Bahasa Indonesia kelas 6 24
B-04 Agama islam kelas 1 15
5. Buat trigger yang dapat melakukan perubahan saat terjadi peminjaman dan
pengembalian untuk perubahan stok buku
6. Inputkan data peminjaman
No_pinjam Tgl pinjam Kode buku Jumlah pinjam
P-01 9/7/2018 B-01 1
P-02 10/7/2018 B-04 2