ID (Indonesia) Translation:
PL/SQL - Triggers: Panduan Teman Anda untuk Otomatisasi Database
Hai teman-teman masa depan ahli basis data! Hari ini, kita akan meluncur ke dunia magis PL/SQL triggers. Jangan khawatir jika Anda baru saja memulai dalam programming – saya akan menjadi panduan andalan Anda dalam petualangan ini. Pada akhir tutorial ini, Anda akan membuat trigger seperti seorang pro!
Apa Itu Triggers, Sebenarnya?
Imaginasi Anda sebagai seorang perpustakaawan ( ikut teruslah ). Setiap kali buku dipinjam, Anda perlu memperbarui catatan, memeriksa apakah buku itu terlambat, dan mungkin mengirimkan pengingat kepada peminjam. Melakukan ini secara manual untuk setiap buku akan sangat lelah! Itu di mana triggers berperan.
Dalam dunia basis data, triggers seperti kecil-kecil elf yang membantu secara otomatis melakukan aksi saat terjadi peristiwa tertentu. Mereka adalah bagian kode yang "trigger" sebagai tanggapan atas operasi basis data tertentu.
Membuat Triggers: Mari Kita Mulai!
Sekarang, mari kita buat trigger pertama kita. Kita akan mulai dari yang sederhana dan kemudian naik tingkat.
Struktur Dasar Trigger
Ini adalah struktur umum trigger:
CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE | DELETE}
ON table_name
[FOR EACH ROW]
[WHEN condition]
DECLARE
-- Declarasi variabel
BEGIN
-- Tubuh trigger
EXCEPTION
-- Penanganan pengecualian
END;
/
Jangan takut! Kita akan membongkar ini secara piece by piece.
Contoh 1: Trigger "Hello, World!" Sederhana
Mari kita buat trigger yang mengatakan "Hello, World!" setiap kali baris baru dimasukkan ke dalam tabel:
CREATE OR REPLACE TRIGGER hello_world_trigger
AFTER INSERT ON employees
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World! Seorang karyawan baru ditambahkan!');
END;
/
Apa yang terjadi disini?
-
CREATE OR REPLACE TRIGGER
: Ini memberitahu basis data kita sedang membuat trigger baru (atau mengganti trigger yang sudah ada). -
AFTER INSERT ON employees
: Trigger kita akan dinyalakan setelah baris baru dimasukkan ke dalam tabel 'employees'. -
BEGIN...END
: Ini adalah tempat kita menaruh logika trigger. -
DBMS_OUTPUT.PUT_LINE
: Ini hanya cara menarik untuk mencetak teks.
Contoh 2: Melog Perubahan
Mari kita buat trigger yang lebih berguna yang melog perubahan ke tabel 'employees':
CREATE OR REPLACE TRIGGER log_salary_changes
AFTER UPDATE OF salary ON employees
FOR EACH ROW
BEGIN
INSERT INTO salary_change_log (employee_id, old_salary, new_salary, change_date)
VALUES (:OLD.employee_id, :OLD.salary, :NEW.salary, SYSDATE);
END;
/
Apa yang baru disini?
-
AFTER UPDATE OF salary
: Trigger ini akan dinyalakan hanya saat kolom 'salary' diperbarui. -
FOR EACH ROW
: Ini berarti trigger dinyalakan untuk setiap baris yang terkena UPDATE. -
:OLD
dan:NEW
: Ini merujuk ke nilai lama dan baru baris yang diperbarui.
Menyemburkan Trigger: Membuat Magis Terjadi
Sekarang kita telah membuat trigger, bagaimana kita membuat mereka dinyalakan? Sederhana! Dengan melakukan operasi basis data yang mereka pantau.
Contoh 3: Menembakkan Trigger
Mari kita lihat trigger kita dalam aksi:
-- Ini akan menembakkan 'hello_world_trigger'
INSERT INTO employees (employee_id, name, salary)
VALUES (1, 'John Doe', 50000);
-- Ini akan menembakkan 'log_salary_changes' trigger
UPDATE employees
SET salary = 55000
WHERE employee_id = 1;
Ketika Anda menjalankan perintah ini, di belakang layar, trigger kita mulai beraksi!
Tipe Trigger: Tabel Referensi Cepat
Ini adalah tabel referensi cepat tentang jenis trigger yang berbeda:
Tipe Trigger | Deskripsi | Contoh Penggunaan |
---|---|---|
BEFORE | Dinyalakan sebelum aksi pemicu | Validasi atau modifikasi data masukan sebelum dimasukkan |
AFTER | Dinyalakan setelah aksi pemicu | Melog perubahan atau memperbarui tabel terkait |
INSERT | Dinyalakan saat operasi INSERT | Secara otomatis generate catatan terkait |
UPDATE | Dinyalakan saat operasi UPDATE | Track perubahan data sepanjang waktu |
DELETE | Dinyalakan saat operasi DELETE | Memelihara integritas referensi |
INSTEAD OF | Digunakan dengan view untuk menentukan operasi insert, update, atau delete khusus | Implementasi pembaruan view yang kompleks |
Menutup: Anda Sekarang Pemula Trigger!
Selamat! Anda telah mengambil langkah pertama ke dalam dunia PL/SQL triggers. Kita telah melihat dasar-dasar membuat trigger, melihat mereka dalam aksi, dan bahkan melihat jenis trigger yang berbeda.
Ingat, trigger adalah alat yang kuat, tapi dengan kekuatan yang besar datang tanggung jawab yang besar. Gunakan mereka bijaksana, dan mereka akan membuat kerja basis data Anda lebih cerdas, bukan lebih keras.
Teruslatih, tetap curioso, dan sebelum Anda sadari, Anda akan menjadi maestro trigger! Selamat coding, masa depan ahli basis data!
Credits: Image by storyset