Cara Membuat Trigger di MySQL

dokumen-dokumen yang mirip
Cara Membuat Trigger di MySQL

Membuat Function, Stored Procedur dan View pada MySQL

Modul 6 Function dan Trigger

Pertemuan VII TRIGGERS

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Perintah - Perintah Dasar Pada MySQL

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Cara Setting EOIP Tunnel Di Mikrotik Router

Membuat Hotspot Dengan Mikrotik & Login Page

Mudafiq Riyan Pratama

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Contoh SQL Constraint

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Riyanto

Transaction dan Trigger. M. Saefudin SKom, MMSI

Triggers. by: Ahmad Syauqi Ahsan

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

Praktikum TRIGGER. Tujuan :

JobsheetTEUM MODUL VI TRIGGER

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Membuat Grafik dengan FusionCharts Menggunakan Php dan Mysql

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

Modul 3. Oleh : Mohammad Sholikin. 1

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

5. Database MySQL. Apa Database MySQL Itu? Hirarki Dalam Database. Table

Pertemuan 12 Pengenalan Structured Query Language

Pemrograman Web 1. Akademi Manajemen Informatika dan Komputer AMIK Royal Kisaran. Modul 2 Revisi 2. Tahun Akademik 2012/2013

Pemrograman Web Lanjut 2017

PERINTAH DASAR MySQL

Pengenalan Structured Query Language

MODUL 8 MEMBUAT USER DAN MENGAKSES DATABASE

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

LAPORAN PRAKTIKUM BASIS DATA

STUPID LOGIC PROGRAMMING II

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Rencana Pelaksanaan Pembelajaran

BAB II PEMBUATAN DAN MANAJEMEN TABLE

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

LAMPIRAN 1 LIST CODE DATABASE TRIGGER

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

Basis Data Relational

LAPORAN TUGAS Pemrograman Berbasis Java

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

SQL. Brigida Arie Minartiningtyas, M.Kom

TUGAS PRAKTIKUM SISTEM BASIS DATA

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

Pertemuan I KONSEP DASAR STORED ROUTINES

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

VIEW : Tabel Virtual VIEW 5/29/2017

P - 7 Pembahasan UTS PSIK V

MySQL J A M K E T I G A

PENGEMBANGAN APLIKASI SISTEM PENGATURAN BASIS DATA SECARA ONLINE. Agustinus Noertjahyana, Rendy Pangestu dan Dwi Budiman

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

APLIKASI KONVERSI FLOWCHART KE KODE PROGRAM BAHASA PEMROGRAMAN PL/SQL MYSQL

Transact-SQL (Trigger- Event, Store Procedure)

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

Basis Data Spasial Modul 2

Membuat Pencarian Data Mahasiswa

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

TUGAS PAPER BACKUP DATABASE OLEH : NAMA : PUTRA ADNYANA NIM : KELAS : A103

Aplikasi CRUD Sederhana Dengan PHP dan MySql

Pemrograman Basis Data dan SQL

RANGKUMAN PHP dan MYSQL

Pertemuan VI F U N C T I O N

Pemrograman Basis Data Berbasis Web

PL / SQL. Arif Basofi

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Manajemen Data dengan Database MySQL Supriyono, M.Kom

PENGENALAN SINTAKS DASAR DALAM MySQL

Perangkat Lunak Pengembangan Web

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

Contoh SQL Constraint

MySQL Full-Text Searching

Introduction to SQL. Database Programming. 2 nd Chapter

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

Membuat CRUD Sederhana pada Framework Laravel

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 3 DATABASE LINK DENGAN HETEROENOUS SERVICE

KURSUS ONLINE JASA WEBMASTERS

DATA CONTROL LANGUAGE : GRANT DAN REVOKE

JDBC. Imam Fahrur Rozi

MySQL AL AZHAR COMPUTER CLUB

Basis Data. DDL & Aturan Referential

Tahap Instalasi PostgreSQL di Windows

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

Transkripsi:

Cara Membuat Trigger di MySQL Bayu Lesmana Putra bayu.zty@gmail.com :: bayu.lesmana@raharja.info Abstrak Menurut Wikipedia, trigger dalam database diartikan sebagai procedural code that is automatically executed in response to certain events on a particular table or view in a database. Singkatnya, trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan idpelanggan secara otomatis ke tabel log sebelum menghapus data di tabel pelanggan. Di MySQL, Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.1.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini. Trigger sering digunakan, antara lain untuk melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam system 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. Kata Kunci: Trigger, PHP, MySQL

Pendahuluan Beberapa contoh penggunaan trigger yang sangat berguna adalah jika kita ingin melakukan kalkulasi tertentu yang tidak perlu "diketahui" aplikasi luar, mencatat aktivitas operasi table misalkan untuk kepentingan change data capture (CDC) dan sebagainya. Trigger sering digunakan, antara lain untuk: 1. Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis. 2. Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log. 3. Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan. Pembahasan Kita dapat membuat trigger dengan perintah CREATE TRIGGER. Berikut adalah syntax lengkapnya : CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_body Keterangan: trigger_name = nama trigger. trigger_time = kapan kita mengeksekusi trigger, apakah sebelum atau sesudah perubahan pada row data table. Jadi pilihannya adalah AFTER atau BEFORE. trigger_event = merupakan event atau peristiwa yang menyebabkan trigger dilakukan. Pilihan event tersebut adalah: INSERT, UPDATE, DELETE. tbl_name = nama table.

trigger_body = statement-statement perintah SQL yang akan dilakukan. Jika perintahnya lebih dari satu maka gunakan dalam blok statement BEGIN... END. Jika DEFINER dispesifikasikan maka kita memutuskan trigger tersebut dijalankan hanya oleh user tertentu (dalam format penulisan user@host). Jika tidak dispesifikasikan, maka user yang melakukan perubahan (CURRENT_USER) adalah pilihan default. Karena trigger digunakan pada saat terjadi perubahan row data, maka kita perlu referensi ke row sebelum dan sesudah perubahan. Untuk ini ada dua alias yang berfungsi untuk hal tersebut yaitu OLD dan NEW. Sesuai namanya, OLD digunakan untuk referensi sebelum perubahan dan NEW untuk referensi sesudah perubahan. Berikut adalah contoh penggunaan trigger untuk event setelah penghapusan (AFTER DELETE) pada table "tr_penjualan" - database phi_minimart. Tiga langkah yang akan kita lakukan adalah sebagai berikut : 1. Kita akan membuat satu table audit dengan nama "tr_penjualan_hapus" yang berisi row-row yang dihapus dari table "tr_penjualan" dengan tambahan dua field, yaitu tanggal penghapusan (tgl_perubahan) dan user MySQL yang melakukan hal tersebut (nama_user). Berikut adalah perintahnya: USE phi_minimart; CREATE TABLE `tr_penjualan_hapus` LIKE `tr_penjualan`; ALTER TABLE `tr_penjualan_hapus` ADD ( `tgl_perubahan` DATETIME, `nama_user` VARCHAR(200) ); 2. Tahap berikutnya adalah membuat trigger yang akan melakukan populasi data yang dihapus dari "tr_penjualan" ke table "tr_penjualan_hapus". Berikut adalah perintahnya:

DELIMITER CREATE TRIGGER hapus_tr_penjualan AFTER DELETE ON tr_penjualan FOR EACH ROW BEGIN INSERT INTO tr_penjualan_hapus ( tgl_transaksi, kode_cabang, kode_kasir, kode_item, kode_produk, jumlah_pembelian, tgl_perubahan, nama_user ) VALUES ( OLD.tgl_transaksi, OLD.kode_cabang, OLD.kode_kasir, OLD.kode_item, OLD.kode_produk, OLD.jumlah_pembelian, SYSDATE(), CURRENT_USER ); END; DELIMITER ; 3. Setelah trigger di atas kita buat, sekarang saatnya kita melakukan pengujian. Coba hapus tiga row data dari table "tr_penjualan" dan lihat efeknya di table "tr_penjualan_hapus". Jalankan perintah berikut: DELETE FROM tr_penjualan LIMIT 3; SELECT * FROM tr_penjualan_hapus;

Terlihat pada gambar diatas 3 row yang dihapus telah"pindah" ke table "tr_penjualan_hapus" dengan tambahan informasi waktu penghapusan dan user yang menghapus. Penutup Berdasarkan contoh diatas dapat ditarik kesimpulan sebagai berikut: Trigger merupakan kumpulan perintah SQL yang secara otomatis dijalankan untuk merespon sebuah perintah tertentu. Biasanya, secara fisik trigger menjadi satu dengan table atau view. Atau bisa juga suatu objek database yang merupakan aksi atau prosedur yang dilakukan jika terjadi perubahan pada row data suatu table. Trigger tidak dapat menjadi bagian dari temporary table atau view. Referensi http://dev.mysql.com/doc/refman/5.0/en/triggers.html http://pusat-bahasa.info/relo/download/119542039mohriyan-mysql2.pdf

Biografi Penulis Bayu Lesmana Putra Adalah Lulusan Teknik Komputer, Fakultas Teknologi Informasi Politeknik Harapan Bersama, Tegal (D3, 2012) dan Saat ini sedang menempuh program S1 di STMIK Raharja Tangerang dengan Jurusan Teknik Informatika dengan konsentrasi Software Engineer. Kegiatan sehari-hari adalah sebagai karyawan di sebuah perusahaan swasta dengan posisi IT Engineer. Kegiatan lain sedang belajar programmer, web developer serta sistem jaringan. Penulis dapat dihubungi melalui email di b4yu.zty@gmail dan bayu.lesmana@raharja.co.id, YM b4yu_tk09, Facebook Bayu Lesmana.