Pemicu vs Kursor
Dalam database, pemicu adalah prosedur (segmen kode) yang dieksekusi secara otomatis ketika beberapa peristiwa tertentu terjadi dalam tabel / tampilan. Di antara kegunaan lainnya, pemicu terutama digunakan untuk menjaga integritas dalam database. Kursor adalah struktur kontrol yang digunakan dalam basis data untuk menelusuri catatan basis data. Ini sangat mirip dengan iterator yang disediakan oleh banyak bahasa pemrograman.
Apa itu Pemicu?
Pemicu adalah prosedur (segmen kode) yang dieksekusi secara otomatis ketika beberapa peristiwa tertentu terjadi dalam tabel / tampilan database. Di antara kegunaan lainnya, pemicu terutama digunakan untuk menjaga integritas dalam database. Pemicu juga digunakan untuk menegakkan aturan bisnis, mengaudit perubahan dalam database dan mereplikasi data. Pemicu yang paling umum adalah pemicu Data Manipulation Language (DML) yang dipicu ketika data dimanipulasi. Beberapa sistem database mendukung pemicu non-data, yang dipicu ketika peristiwa Data Definition Language (DDL) terjadi. Beberapa contoh adalah pemicu yang dipicu ketika tabel dibuat, selama operasi komit atau kembalikan terjadi, dll. Pemicu ini dapat terutama digunakan untuk audit. Sistem basis data Oracle mendukung pemicu tingkat skema (yaitu pemicu yang dipicu ketika skema basis data dimodifikasi) seperti After Creation, Before Alter, After Alter, Before Drop, After Drop, dll. Empat jenis pemicu utama yang didukung oleh Oracle adalah pemicu Level Row, Pemicu Level Kolom, Setiap pemicu Tipe Baris dan Untuk Setiap Pemicu Tipe Pernyataan.
Apa itu Kursor??
Kursor adalah struktur kontrol yang digunakan dalam basis data untuk menelusuri catatan basis data. Ini sangat mirip dengan iterator yang disediakan oleh banyak bahasa pemrograman. Selain melintasi catatan dalam database, kursor juga memfasilitasi pengambilan data, menambah dan menghapus catatan. Dengan mendefinisikan cara yang benar, kursor juga dapat digunakan untuk melintasi mundur. Ketika query SQL mengembalikan satu set baris, mereka sebenarnya diproses menggunakan kursor. Kursor perlu dideklarasikan dan diberi nama, sebelum dapat digunakan. Maka kursor harus dibuka menggunakan perintah OPEN. Operasi ini akan menempatkan kursor tepat sebelum baris pertama dari kumpulan catatan hasil. Kemudian kursor harus melakukan operasi FETCH untuk benar-benar mendapatkan deretan data ke aplikasi. Akhirnya, kursor harus ditutup menggunakan operasi TUTUP. Kursor tertutup dapat dibuka kembali.
Apa perbedaan antara Pemicu dan Kursor?
Pemicu adalah prosedur (segmen kode) yang dijalankan secara otomatis ketika beberapa peristiwa tertentu terjadi dalam tabel / tampilan database, sedangkan kursor adalah struktur kontrol yang digunakan dalam database untuk menelusuri catatan database. Kursor dapat dideklarasikan dan digunakan di dalam pemicu. Dalam situasi seperti itu, pernyataan menyatakan akan berada di dalam pelatuk. Maka lingkup kursor akan terbatas pada pemicu itu. Di dalam pemicu, jika kursor dideklarasikan pada tabel yang dimasukkan atau dihapus, kursor seperti itu tidak akan dapat diakses dari pemicu bersarang. Setelah pemicu selesai, semua kursor yang dibuat di dalam pemicu akan dialokasikan.