Random Hadith

Narrated Abu Salama: When Abu Huraira led us in prayer he used to say Takbir on each bowing and rising. On the completion of the prayer he used to say, [+] [Bukhari 012:752]

Mutiara Hati

Gairah adalah salah satu elemen pokok yang meringankan upaya dan mengubah kegiatan-kegiatan yang biasa-biasa saja menjadi suatu pekerjaan yang dapat dinikmati

Announcement

 

December 2009
M T W T F S S
« Nov   Jan »
 123456
78910111213
14151617181920
21222324252627
28293031  

Archives

Categories

Tags

free counters

Membuat TRIGGER pada database MySQL

Trigger adalah suatu prosedur yang otomatis akan dijalankan apabila “pemicu” dari trigger itu dipanggil.

sebagai contoh: penghapusan satu tabel akan memicu suatu trigger untuk menghapus pada tabel yang lain yang telah ditunjuk terlebih dahulu. dibawah ini saya berikan satu contoh penggunaan trigger pada database MySQL.

Sebagai contoh kita siapkan terlebih dahulu sebuah database dan tabel yang akan diuji coba seperti dibawah ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
create database mytrigger;
 
create table coba (
kode varchar(5) not null,nama varchar(35) not null,
primary key (kode))
 
create table coba2 (
kode varchar(5) not null,nama varchar(35) not null,
primary key (kode))
 
create table tran (
kode varchar(5) not null,
kodetran varchar(5),jumlah double,
primary key nkode (kode,kodetran))

Kemudian buatlah sebuah trigger dengan kode seperti dibawah ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
delimiter $$
 
create trigger auto_insert_coba2
before insert on coba for each row
begin
  insert into coba2 (kode,nama) values (NEW.kode,NEW.nama);
end$$
 
create trigger auto_update_coba2
before update on coba for each row
begin
  update coba2 set nama=NEW.nama where kode=NEW.kode;
end$$
 
create trigger auto_delete_coba2
before delete on coba for each row
begin
delete from coba2 where kode=OLD.kode;
delete from tran where kode=OLD.kode;
end$$

pada trigger di atas setiap kali perubahan dilakukan terhadap tabel COBA maka secara otomatis
tabel COBA2 akan dipengaruhi / terpengaruh.
Pembuatan trigger ini dapat digunakan untuk berbagai keperluan, selamat mencoba…..!

Jangan lupa untuk memberikan komentar anda. terima kasih.

Popularity: 10% [?]

10 comments to Membuat TRIGGER pada database MySQL

  • britantyo

    wuaduoh mas…ndak iso iku…kok gak bisa yaaa waktu create trigger auto_insert_coba2, keluarnya begini nih :

    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1

    ak pakenya mysql 5.0 loh…bug yah…kalo

  • saya udah coba lagi ok tuh perintahnya…

    hmmmm kalau pembuatan trigger tersebut langsung pada kotak SQL maka perintah

    delimiter $$

    nggak perlu diketikkan tetapi langsung ketikkkan $$ pada kotak input

    lihat gambarnya disini:

    http://farm5.static.flickr.com/4015/4295472060_0eaf0b2499_o.jpg
    anto2k´s last blog ..KEBOCORAN DOKUMEN PENTAGON My ComLuv Profile

  • selamat mencoba ya… ehm kalau diberi cendol :cendol

    kagak keberatan nich….

  • 1. pada baris satu, coba ubah menjadi:
    create database if not exsists mytrigger;

    2. setelah create table (….) akhiri dengan ‘;’
    windu purnomo´s last blog ..Praktikum Algoritma dan Pemrograman My ComLuv Profile

  • :thanks2 terima kasih mr Windu

    that’s good solution

  • Biar lebih afdol, ikutan nimbrung bahas mengenai trigger nich. http://bit.ly/TriggerMySQL
    achmatim´s last blog ..Mengenal Trigger di MySQL My ComLuv Profile

  • MATUR SUWUN MAS ANTOK.. tolong add ym saya :putrablora fb : fb_putra@yahoo.co.id
    Semaleman saya cari triger, habis sbuh saya baru ketemu dengan web njenengan.. thenqu.. silahkan mampir di blog saya
    budi setyawan´s last blog ..PHP PAGINATION MySQL My ComLuv Profile

  • kalo implementasinya pada program gimana mas? oh ya saya pakai delphi. tanks

  • ea….. kak mksih…..

  • al

    makasih mas,,
    saya punya kasus mini market mas,
    ni table barang
    CREATE TABLE `barang` (
    `kode_barang` varchar(10) collate latin1_general_ci NOT NULL,
    `kode_barcode` varchar(35) collate latin1_general_ci default NULL,
    `jenis_barang` varchar(35) collate latin1_general_ci NOT NULL,
    `nama_barang` varchar(50) collate latin1_general_ci NOT NULL,
    `harga_beli` int(15) default NULL,
    `harga_jual` int(15) NOT NULL,
    `stock` int(15) NOT NULL,
    PRIMARY KEY (`kode_barang`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

    INSERT INTO `barang` (`kode_barang`, `kode_barcode`, `jenis_barang`, `nama_barang`, `harga_beli`, `harga_jual`, `stock`) VALUES
    (’1′, ’123456789′, ‘permen’, ‘Nano’, 10000, 15000, 100);

    ni table rincibelanja
    CREATE TABLE `penjualanrinciminimarket` (
    `no_nota` varchar(10) collate latin1_general_ci NOT NULL,
    `kode_barang` varchar(10) collate latin1_general_ci NOT NULL,
    `kode_barcode` varchar(35) collate latin1_general_ci NOT NULL,
    `jenis_barang` varchar(35) collate latin1_general_ci NOT NULL,
    `harga_jual` double NOT NULL,
    `jumlah` int(10) NOT NULL,
    `sub_total` double NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

    nah yang ingin saya tanyakan gimana sintax triggernya,
    jika ada kode barang dan jumlah yang masuk pada tabel rinci kemudian mempengaruhi stock barang yang ada pada tabel barang dengan kondisi kode barang pada tabel barang sama dengan kode barang pada tabel rincibelanja, makasih mas mohon bantuannya ya mas

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

CommentLuv Enabled
[+] kaskus emoticons nartzco