Tutorial MySQL ini menjelaskan cara membuat Trigger AFTER INSERT di MySQL dengan sintaks dan contoh
Keterangan
Pemicu AFTER INSERT berarti bahwa MySQL akan memicu pemicu ini setelah operasi INSERT dijalankan
Sintaksis
Sintaks untuk membuat Trigger AFTER INSERT di MySQL adalah
CREATE TRIGGER trigger_name AFTER INSERT ON table_name FOR EACH ROW BEGIN -- variable declarations -- trigger code END;Parameter atau Argumen
trigger_nameNama pemicu yang akan dibuat. SETELAH INSERTIni menunjukkan bahwa pemicu akan aktif setelah operasi INSERT dijalankan. table_nameNama tabel tempat pemicu dibuatBatasan
- Anda tidak dapat membuat pemicu SETELAH pada tampilan
- Anda tidak dapat memperbarui nilai BARU
- Anda tidak dapat memperbarui nilai LAMA
Catatan
- Lihat juga cara membuat pemicu AFTER DELETE, AFTER UPDATE, BEFORE DELETE, BEFORE INSERT, dan BEFORE UPDATE
- Lihat juga cara menjatuhkan pemicu
Contoh
Mari kita lihat contoh cara membuat trigger AFTER INSERT menggunakan pernyataan CREATE TRIGGER di MySQL
Setelah Sisipkan Pemicu di MySQL dipanggil secara otomatis setiap kali peristiwa penyisipan terjadi di atas meja. Pada artikel ini, kita akan mempelajari cara membuat trigger after insert dengan sintaks dan contohnya
Sintaksis
Berikut ini adalah sintaks untuk membuat trigger AFTER INSERT di MySQL
Parameter sintaks pemicu AFTER INSERT dapat dijelaskan seperti di bawah ini
- Pertama, kita akan menentukan nama trigger yang ingin kita buat. Itu harus unik dalam skema
- Kedua, kita akan menentukan waktu tindakan pemicu, yang seharusnya menjadi klausa SETELAH INSERT untuk memanggil pemicu
- Ketiga, kami akan menentukan nama tabel yang terkait dengan pemicu. Itu harus ditulis setelah kata kunci ON. Jika kami tidak menentukan nama tabel, pemicu tidak akan ada
- Terakhir, kita akan menentukan badan pemicu yang berisi satu atau lebih pernyataan untuk dieksekusi saat pemicu diaktifkan
Jika kita ingin mengeksekusi banyak pernyataan, kita akan menggunakan blok BEGIN END yang berisi kumpulan kueri SQL untuk menentukan logika pemicu. Lihat sintaks di bawah ini
Batasan
- Kami dapat mengakses nilai BARU tetapi tidak dapat mengubahnya dalam pemicu SETELAH INSERT
- Kami tidak dapat mengakses OLD Jika kami mencoba mengakses nilai OLD, kami akan mendapatkan kesalahan karena tidak ada OLD pada pemicu INSERT
- Kami tidak dapat membuat pemicu SETELAH INSERT pada TAMPILAN
Contoh Pemicu SETELAH INSERT
Mari kita pahami cara membuat pemicu SETELAH INSERT menggunakan pernyataan CREATE TRIGGER di MySQL dengan sebuah contoh
Misalkan kita telah membuat tabel bernama "student_info" sebagai berikut
Selanjutnya, kita akan memasukkan beberapa record ke dalam tabel ini dan kemudian mengeksekusi pernyataan SELECT untuk melihat data tabel sebagai berikut
Sekali lagi, kita akan membuat tabel baru bernama "student_detail" sebagai berikut
Selanjutnya, kita akan menggunakan pernyataan CREATE TRIGGER untuk membuat pemicu after_insert_details pada tabel student_info. Pemicu ini akan diaktifkan setelah operasi penyisipan dilakukan di atas meja
Jika pemicu berhasil dibuat, kita akan mendapatkan output sebagai berikut
Bagaimana cara memanggil pemicu SETELAH INSERT?
Kita dapat menggunakan pernyataan berikut untuk memanggil pemicu yang dibuat di atas
Tabel yang telah dimodifikasi setelah kueri pembaruan dieksekusi adalah student_detail. Kami dapat memverifikasinya dengan menggunakan pernyataan SELECT sebagai berikut
Dalam output ini, kita dapat melihat bahwa saat memasukkan nilai ke dalam tabel student_info, tabel student_detail akan secara otomatis mengisi record dengan memanggil trigger
Bagaimana cara membuat SETELAH INSERT Trigger di meja kerja MySQL?
Untuk membuat after insert trigger menggunakan tool ini, pertama-tama kita harus meluncurkan MySQL Workbench dan login menggunakan username dan password yang telah kita buat sebelumnya. Kita akan mendapatkan layar sebagai berikut
Sekarang lakukan langkah-langkah berikut untuk membuat pemicu SETELAH INSERT
1. Buka tab Navigasi dan klik menu Skema yang berisi semua database yang tersedia di server MySQL
2. Pilih database (misalnya, mystudentdb), klik dua kali padanya yang menunjukkan sub-menu yang berisi Tabel, Tampilan, Fungsi, dan Prosedur Tersimpan. Lihat layar di bawah ini
3. Perluas sub-menu Tabel dan pilih tabel yang ingin Anda buat pemicunya. Setelah memilih tabel, klik kanan pada tabel yang dipilih (misalnya, mystudentdb), lalu klik opsi Alter Table. Lihat gambar di bawah ini
4. Mengklik pada opsi Alter Table memberikan layar seperti di bawah ini
5. Sekarang, klik tab Pemicu yang ditunjukkan di kotak persegi panjang merah di bagian sebelumnya, lalu pilih Timing/Event AFTER INSERT. Kami akan melihat bahwa ada tombol ikon (+) untuk menambahkan pemicu. Dengan mengklik tombol tersebut, kita akan mendapatkan kode default pada trigger berdasarkan pemilihan Timing/Event
6. Sekarang, lengkapi kode pemicu, tinjau sekali lagi, dan jika tidak ditemukan kesalahan, klik tombol Terapkan
7. Setelah mengklik tombol Terapkan, klik tombol Selesai untuk penyelesaian
8. Jika kita melihat menu skema, kita dapat melihat pemicu AFTER_INSERT_detail di bawah tabel student_info sebagai berikut