Vita Yoviana

Sebuah trigger merupakan kode prosedural yang akan secara otomatis dieksekusi akibat dipicu oleh seuah event / kejadian pada suatu Tabel. Trigger dapat mencegah akses terhadap data yang spesifik, melakukan logging atau melakukan audit perubahan data. Trigger digunakan untuk pemrosesan kondisi statemen DML (Data Manipulation Language) seperti INSERT, DELETE dan UPDATE, Namun trigger tidak dapat digunakan dalam statemen SELECT.

Terdapat tiga kejadian (event) umum yang dapat menyebabkan trigger dipicu :
- INSERT, berarti trigger dijalankan ketika terdapat sejumlah data baru yang diinput
- UPDATE, berarti trigger dijalankan ketika terdapat data / record yang diubah
- DELETE, berarti trigger dijalankan ketika terdapat data / record yang dihapus

Manfaat dari penggunaan trigger :

  1. Trigger merupakan salah satu mekanisme untuk menjalankan aturan bisnis dan menjaga integritas data dalam sebuah basis data. Mekanisme yang lainnya adalah penggunaan CONSTRAINT :-)
  2. Trigger dapat mengevaluasi status dari sebuah tabel sebelum dan sesudah terjadi perubahan data dan melakukan aksinya sesuai perbedaan yang terjadi
  3. Trigger dapat melakukan perubahan cascade melalui melalui relasi tabel pada database, akan tetapi perubahan ini akan lebih efisien jika dieksekusi menggunakan referential integrity constraints.
  4. Trigger dapat melakukan pencegahan akses atas data yang kompleks dibanding dengan menggunakan CHECK CONSTRAINT
  5. Tidak seperti pada Check Constraint, Trigger dapat mereferensikan kolom / field dalam tabel yang berbeda.
  6. Dan lupa lagi :-)

Syntax membuat Trigger :
CREATE TRIGGER {Nama_Trigger}
ON {Nama_Table}
FOR {DELETE | INSERT | UPDATE}
AS
{SQL Statement}

Syntax menghapus Trigger :
DROP TRIGGER {Nama_Trigger}

ALTER TRIGGER {Nama_Trigger}
ON [Nama_Table}
FOR {DELETE | INSERT | UPDATE}
AS
{SQL Statement}

Syntax mendapatkan informasi mengenai trigger :
sp_helptext {Nama_Trigger}
sp_help {Nama_Trigger}
sp_columns {Nama_Trigger}

Contoh penggunaan :
DROP TRIGGER info
CREATE TRIGGER info
ON BARANG
FOR INSERT
AS
PRINT ‘Data Telah Ditambahkan ke tabel Barang…!’

0 Responses

Posting Komentar