Stored Program adalah sekumpulan perintah SQL yang disimpan dan dijalankan langsung di dalam MySQL Server.
Stored Program membantu mengurangi beban aplikasi, meningkatkan performa, serta menjaga konsistensi logika bisnis.
Jenis Stored Program di MySQL meliputi:
- Stored Procedure
- Function
- Trigger
- Event Scheduler
Contents
2. Stored Procedure
Stored Procedure adalah prosedur yang berisi satu atau lebih perintah SQL dan dapat dipanggil berulang kali.
Kelebihan Stored Procedure:
- Query lebih rapi
- Mengurangi duplikasi kode
- Performa lebih baik
Contoh Stored Procedure sederhana:
DELIMITER //
CREATE PROCEDURE tampil_mahasiswa()
BEGIN
SELECT * FROM mahasiswa;
END //
DELIMITER ;
Menjalankan Stored Procedure:
CALL tampil_mahasiswa();
3. Function
Function mirip dengan Stored Procedure, namun harus mengembalikan nilai (RETURN) dan biasanya digunakan dalam query SELECT.
Contoh Function:
DELIMITER //
CREATE FUNCTION hitung_umur(tgl_lahir DATE)
RETURNS INT
DETERMINISTIC
BEGIN
RETURN YEAR(CURDATE()) - YEAR(tgl_lahir);
END //
DELIMITER ;
Menggunakan Function:
SELECT nama, hitung_umur(tanggal_lahir) AS umur
FROM mahasiswa;
4. Trigger
Trigger adalah Stored Program yang dijalankan otomatis ketika terjadi peristiwa tertentu pada tabel (INSERT, UPDATE, DELETE).
Jenis Trigger:
- BEFORE INSERT
- AFTER INSERT
- BEFORE UPDATE
- AFTER UPDATE
- BEFORE DELETE
- AFTER DELETE
Contoh Trigger:
DELIMITER //
CREATE TRIGGER before_insert_mahasiswa
BEFORE INSERT ON mahasiswa
FOR EACH ROW
BEGIN
SET NEW.created_at = NOW();
END //
DELIMITER ;
5. Event Scheduler
Event Scheduler digunakan untuk menjalankan perintah SQL secara otomatis berdasarkan waktu tertentu, mirip dengan cron job.
Mengaktifkan Event Scheduler:
SET GLOBAL event_scheduler = ON;
Contoh Event Scheduler:
DELIMITER //
CREATE EVENT hapus_data_lama
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
DELETE FROM log_aktivitas
WHERE tanggal < NOW() - INTERVAL 30 DAY;
END //
DELIMITER ;
6. Perbedaan Stored Procedure, Function, Trigger, dan Event
| Jenis | Dipanggil Manual | Return Nilai | Jalan Otomatis |
|---|---|---|---|
| Stored Procedure | Ya | Tidak | Tidak |
| Function | Ya | Ya | Tidak |
| Trigger | Tidak | Tidak | Ya |
| Event | Tidak | Tidak | Ya |
Kesimpulan
Stored Program MySQL membantu menjalankan logika bisnis langsung di database. Dengan memahami dasar Stored Procedure, Function, Trigger, dan Event Scheduler, pengguna dapat membangun sistem database yang lebih efisien, otomatis, dan terstruktur.