Pemicu vs Kursor
Dalam database, pemicu adalah prosedur (segmen kode) yang dijalankan 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 database untuk melewati catatan database. Ini sangat mirip dengan iterator yang disediakan oleh banyak bahasa pemrograman.
Apa itu Pemicu?
Pemicu adalah prosedur (segmen kode) yang dijalankan 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 paling umum adalah pemicu Data Manipulation Language (DML) yang dipicu saat data dimanipulasi. Beberapa sistem database mendukung pemicu non-data, yang dipicu saat peristiwa Bahasa Definisi Data (DDL) terjadi. Beberapa contoh adalah pemicu yang diaktifkan saat tabel dibuat, selama operasi komit atau rollback terjadi, dll. Pemicu ini dapat digunakan secara khusus untuk audit. Sistem database Oracle mendukung pemicu tingkat skema (mismemicu ketika skema database dimodifikasi) seperti After Creation, Before Alter, After Alter, Before Drop, After Drop, dll. Empat jenis pemicu utama yang didukung oleh Oracle adalah pemicu Tingkat Baris, pemicu Tingkat Kolom, Setiap pemicu Jenis Baris dan Untuk Setiap pemicu Jenis Pernyataan.
Apa itu Cursor?
Kursor adalah struktur kontrol yang digunakan dalam database untuk melewati catatan database. Ini sangat mirip dengan iterator yang disediakan oleh banyak bahasa pemrograman. Selain menelusuri catatan dalam database, kursor juga memfasilitasi pengambilan data, menambah dan menghapus catatan. Dengan menentukan cara yang benar, kursor juga dapat digunakan untuk bergerak mundur. Saat kueri SQL mengembalikan sekumpulan baris, baris tersebut sebenarnya diproses menggunakan kursor. Kursor perlu dideklarasikan dan diberi nama, sebelum dapat digunakan. Kemudian kursor perlu dibuka menggunakan perintah OPEN. Operasi ini akan menempatkan kursor tepat sebelum baris pertama dari kumpulan rekaman hasil. Kemudian kursor harus melakukan operasi FETCH untuk benar-benar memasukkan deretan data ke dalam aplikasi. Terakhir, 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 dalam pemicu. Dalam situasi seperti itu, pernyataan deklarasi akan berada di dalam pemicu. Kemudian cakupan kursor akan dibatasi ke pemicu itu. Dalam pemicu, jika kursor dideklarasikan pada tabel yang disisipkan atau dihapus, kursor tersebut tidak akan dapat diakses dari pemicu bertingkat. Setelah pemicu selesai, semua kursor yang dibuat di dalam pemicu akan dibatalkan alokasinya.