INSERT
. Anda pernyataan selalu berjalan dalam suatu transaksi - baik Anda telah mendefinisikannya secara eksplisit, atau jika tidak, maka SQL Server akan menggunakan transaksi implisit.
Anda memasukkan satu (atau beberapa) baris ke dalam tabel Anda. Kemudian - masih di dalam transaksi - AFTER INSERT
pemicu berjalan dan memeriksa kondisi tertentu - biasanya menggunakan Inserted
tabel semu yang tersedia di dalam pemicu, yang berisi baris yang telah disisipkan.
Jika Anda menelepon ROLLBACK TRANSACTION
di pemicu Anda, lalu ya - transaksi Anda, dengan semua yang telah dilakukannya, dibatalkan dan seolah-olah itu INSERT
tidak pernah terjadi - tidak ada yang muncul di tabel database Anda.
Juga:FOR INSERT
sama dengan AFTER INSERT
di SQL Server - pemicu dijalankan setelah INSERT
pernyataan telah melakukan tugasnya.
Satu hal yang perlu diingat (yang membuat banyak programmer salah):pemicu diaktifkan sekali per pernyataan - TIDAK sekali per baris! Jadi, jika Anda memasukkan 20 baris sekaligus, pemicunya akan diaktifkan sekali dan Inserted
tabel semu di dalam pemicu berisi 20 baris. Anda harus mempertimbangkannya saat menulis pemicu - Anda tidak selalu berurusan dengan hanya satu baris yang dimasukkan!