Pemicu vs kursor
Dalam database, pemicu adalah prosedur (segmen kode) yang dieksekusi secara otomatis ketika beberapa peristiwa tertentu terjadi dalam tabel/tampilan. Di antara penggunaannya yang lain, pemicu terutama digunakan untuk mempertahankan integritas dalam database. Kursor adalah struktur kontrol yang digunakan dalam database untuk membaca catatan database. 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 spesifik terjadi dalam tabel/tampilan database. Di antara penggunaannya yang lain, pemicu terutama digunakan untuk mempertahankan integritas dalam database. Pemicu juga digunakan untuk menegakkan aturan bisnis, mengaudit perubahan dalam database dan mereplikasi data. Pemicu yang paling umum adalah pemicu Bahasa Manipulasi Data (DML) yang dipicu saat data dimanipulasi. Beberapa sistem database mendukung pemicu non-data, yang dipicu saat peristiwa Data Definition Language (DDL) terjadi. Beberapa contoh adalah pemicu yang dipecat saat tabel dibuat, selama operasi komit atau rollback terjadi, dll. Pemicu ini dapat digunakan secara khusus untuk audit. Oracle Database System Mendukung Pemicu Level Skema (I.e. pemicu dipecat saat skema basis data dimodifikasi) seperti setelah pembuatan, sebelum alter, setelah alter, sebelum jatuh, setelah jatuh, dll. Empat jenis pemicu utama yang didukung oleh Oracle adalah pemicu tingkat baris, pemicu tingkat kolom, masing -masing pemicu jenis baris dan untuk setiap pemicu jenis pernyataan.
Apa itu kursor?
Kursor adalah struktur kontrol yang digunakan dalam database untuk membaca catatan database. 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 ke belakang. Saat kueri SQL mengembalikan satu set baris, itu sebenarnya diproses menggunakan kursor. Kursor perlu dinyatakan dan ditugaskan nama, sebelum dapat digunakan. Maka kursor perlu dibuka menggunakan perintah terbuka. Operasi ini akan menempatkan kursor tepat sebelum baris pertama set rekaman. Maka kursor harus melakukan operasi pengambilan untuk benar -benar mendapatkan deretan data ke dalam aplikasi. Akhirnya, kursor harus ditutup menggunakan operasi yang dekat. Kursor tertutup dapat dibuka lagi.
Apa perbedaan antara pemicu dan kursor?
Pemicu adalah prosedur (segmen kode) yang dieksekusi secara otomatis ketika beberapa peristiwa spesifik terjadi dalam tabel/tampilan database, sedangkan kursor adalah struktur kontrol yang digunakan dalam database untuk melalui catatan database. Kursor dapat dinyatakan dan digunakan dalam pemicu. Dalam situasi seperti itu, pernyataan menyatakan akan berada di dalam pemicu. Maka ruang lingkup kursor akan terbatas pada pemicu itu. Dalam pemicu, jika kursor dinyatakan pada tabel yang dimasukkan atau dihapus, kursor seperti itu tidak akan dapat diakses dari pelatuk bersarang. Setelah pemicu selesai, semua kursor yang dibuat di dalam pemicu akan dialokasikan.