Dibawah ini adalah batasan dan pertimbangan di dalam menggunakan trigger :
1. Trigger bisa menjalankan perintah yang terkandung di dalam badannya atau mengaktifkan prosedur dan trigger lain untuk menjalankan tugas tertentu.
2. Setiap perintah SET bisa ditentukan di dalam trigger. Perintah ini akan tetap aktif selama ekseksi. 3. Kita tidak bisa membuat trigger untuk view. Tetapi apabila view digunakan, trigger dari table dasar biasanya akan diaktifkan. 4. Perintah Truncate Table tidak bisa dihentikan oleh trigger. 5. Trigger tidak bisa menjalankan perintah Transact-SQL yang merupakan perintah DDL.
Membuat Trigger Trigger bisa dibuat dengan 2 cara yaitu : 1. Menggunakan Query analizer CREATE TRIGGER [TRIGGER NAME] ON [NAMA_TABEL] FOR INSERT, UPDATE, DELETE AS PERINTAH Ket : ON menunjukan tabel atau skema dimana trigger dibuat. FOR harus diikuti oleh jenis perintah yang akan dijalankan. AS memulai badan trigger dengan perintah yang akan dijalankan.
Berikut ini contoh pembuatan trigger semisalnya kita mempunyai tabel dengan nama tmhs dengan struktur sebagai berikut :
contoh tabel

Buatlah tabel TMhs2 yang mempunyai struktur yang sama dengan TMhs. Misalkan kita akan membuat trigger menampilkan tulisan saat program melakukan input

2.Menggunakan Enterprise Manager Dengan menggunakan Enterprise manager pembuatan Trigger sangatlah mudah. Berikut ini cara membuat trigger menampilkan tulisan pada saat melakukan input :

Gambar : Menampilkan Trigger

Tabel Inserted dan Deleted Apabila tabel dijalankan SQL server akan membuat dua buah tabel sementara yang hanya muncul apabila trigger sedang dijalankan, tabel yang pertama adalah tabel inserted dan yang kedua adalah tabel deleted. Apabila perintah INSERT atau UPDATE dijalankan, record yang dibuat atau diubah di copy ke dalam tabel inserted. Apabila perintah DELETE dijalankan, baris baris yang dihapus di copy ke dalam tabel deleted.

Membuat Replikasi Baris dengan Trigger Dengan menggunakan tabel sementara dari trigger, kita bisa membuat sebuah mekanisme untuk melakukan replikasi cepat dari satu tabel ke tabel yang lainnya. Kita bisa menyisipkan, mengubah atau menghapus record pada tabel lain pada saat operasi sedang dilakukan pada tabel yang sedang aktif. Berikut ini contoh membuat tiga buah trigger untuk replikasi atau menggandakan operasi dari tabel Tmhs ke dalam tabel Tmhs2. Replikasi Insert Nama trigger : insertrep Create Trigger insertrep on tmhs For insert As Insert into Tmhs2 Select * from inserted
Pada trigger ini, kita menggunakan Insert into dan select untuk mendapatkan field field dari tabel inserted Replikasi Delete Nama trigger : delrep Create Trigger delrep on Tmhs For Delete As Delete from tmhs2 Where tmhs2.nim in (select nim from deleted) Kita menggunakan perintah Delete From dan Where untuk menyaring record yang akan dihapus dengan mencarinya pada tabel deleted, yang dalam hal ini hanya mengandung record yang baru saja dihapus Replikasi Update Nama trigger : uprep Create Trigger uprep on Tmhs For Update As Update Tmhs2 Set Nama=(Select Nama from Inserted), Alamat=(Select Alamat from Inserted) Where Tmhs2.nim in (Select nim from Inserted) Trigger ini mereplikasi proses update yang telah dilakukan pada tmhs, didalamnya mengupdate colom nama dan alamat dari Tmhs2 dengan isi dari colom nama dan alamat dari tabel inserted. Klause Where juga digunakan untuk mengupdate record yang kodenya ditemukan pada tabel inserted saja. Pada perintah replikasi update dan juga update biasa sangat dilarang untuk mengupdate primary key.
Tidak ada komentar:
Posting Komentar