MENGOPERASIKAN TRIGGER DI SQL SERVER


PENDAHULUAN

  • Trigger mirip dengan event dalam bahasa pemrograman berorientasi object (OOP)
  • Event adalah sebuah proses yang akan dilakukan oleh sistem ketika menemui suatu kejadian yang dipicu oleh perilaku dari luar sistem
  • Dalam sistem database perilaku di luar sistem yang memicu adanya event adalah pada saat user melakukan modifikasi data, maka secara otomatis trigger akan dijalankan
  • Atau dengan kata lain, trigger berisi program yang dihubungkan dengan suatu tabel yang secara otomatis melakukan aksi ketika suatu baris di dalam tabel dikenai operasi INSERT, UPDATE, ataupun DELETE. (Diringkas dari berbagai sumber)

MACAM-MACAM TRIGGER

Pada SQL Server 2000 , terdapat dua pilihan tipe trigger yaitu :

  1. AFTER, trigger akan dijalankan setelah prose INSERT, UPDATE, DELETE dijalankan. Untuk membuat after trigger kita dapat menggunakan statement AFTER atau FOR
  2. INSTEAD OF, trigger akan dijalankan sebelum proses INSERT, UPDATE, DELETE dijalankan. Pada SQL Server versi sebelumnya fasilitas Instead Of  ini tidak disediakan.
MEMPRAKTIKAN PENGOPERASIAN TRIGGER
Untuk membuat trigger, sebelumnya kita harus membuat tabel yang menampung setiap kejadian INSERT, UPDATE, ATAU DELETE. Pada contoh ini kita buat tabel baru dengan nama history :
create table history(keterangan varchar(100), tgl datetime)
MEMBUAT TRRIGER
Pada contoh ini, kita buat trigger pada saat kejadian penambahan data pada tabel siswa :
create trigger trg_tambahsiswa on siswa for insert as
insert into history(keterangan, tgl)
values (‘penambahan data pada tabel siswa’,getdate())

PERCOBAAN TRIGGER PADA TABEL SISWA

insert into siswa(nis, nama, alamat, jenkel, email)

values(‘0910110012′,’Firman’,’Cimahi’,’L’,’firman_cimohai@yahoo.co.id’)

Lihat penambahan data di tabel siswa :

Melihat hasil dari trigger di tabel history :

Membuat Trigger untuk kejadian pada saat update & delete pada tabel siswa

  • Membuat trigger untuk kejadian pada saat ada pegubahan data pada tabel siswa

create trigger trg_tambahsiswa on siswa for update as

insert into history(keterangan, tgl)

values (‘pengubahan data pada tabel siswa’,getdate())

  • Membuat trigger untuk kejadian pada saat ada penghapusan data pada tabel siswa

create trigger trg_tambahsiswa on siswa for delete as

insert into history(keterangan, tgl)

values (‘penghapusan data pada tabel siswa’,getdate())

Untuk menguji trigger pada saat pengubahan data dan penghapusan data pada tabel siswa, lakukan seperti pada trigger pada saat penambahan data, yaitu dengan melakukan pengupdatean dan penghapusan data pada tabel siswa, kemudian cek kembali pada tabel history. Amati hasilnya!

Semoga bermanfaat….. 🙂

About jauharulali

Kita tak akan pernah tahu siapa diri kita, sampai kita dpt melihat apa yg bisa kita lakukan

Posted on 1 Desember 2010, in Basis Data, TIK. Bookmark the permalink. 1 Komentar.

  1. hatur nuhun pak , soal UN 2011-2012 RPL nomer 39 paket B =))

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: