Pencetus vs Kursor
Dalam pangkalan data, pemicu adalah prosedur (segmen kod) yang dijalankan secara automatik ketika beberapa peristiwa tertentu terjadi dalam tabel / tampilan. Antara kegunaannya yang lain, pemicu digunakan terutamanya untuk menjaga integriti dalam pangkalan data. Kursor adalah struktur kawalan yang digunakan dalam pangkalan data untuk memeriksa rekod pangkalan data. Ia sangat serupa dengan iterator yang disediakan oleh banyak bahasa pengaturcaraan.
Apakah Pencetus?
Pencetus adalah prosedur (segmen kod) yang dijalankan secara automatik ketika beberapa peristiwa tertentu terjadi dalam tabel / pandangan pangkalan data. Antara kegunaannya yang lain, pemicu digunakan terutamanya untuk menjaga integriti dalam pangkalan data. Pencetus juga digunakan untuk menegakkan peraturan perniagaan, mengaudit perubahan dalam pangkalan data dan mereplikasi data. Pencetus yang paling biasa adalah pencetus Bahasa Manipulasi Bahasa (DML) yang dipicu ketika data dimanipulasi. Beberapa sistem pangkalan data menyokong pencetus bukan data, yang dipicu ketika peristiwa Data Definition Language (DDL) berlaku. Beberapa contoh adalah pemicu yang dipecat ketika jadual dibuat, semasa operasi komit atau pemulangan berlaku, dll. Pencetus ini dapat digunakan terutama untuk pengauditan. Sistem pangkalan data Oracle menyokong pencetus tahap skema (iaitupencetus diaktifkan ketika skema pangkalan data diubah) seperti After Creation, Before Alter, After Alter, Before Drop, After Drop, dll. Empat jenis utama pemicu yang disokong oleh Oracle adalah Row Level triggers, Column Level triggers, Setiap Row Type triggers dan Untuk setiap pencetus Jenis Penyataan.
Apa itu Kursor?
Kursor adalah struktur kawalan yang digunakan dalam pangkalan data untuk memeriksa rekod pangkalan data. Ia sangat serupa dengan iterator yang disediakan oleh banyak bahasa pengaturcaraan. Selain melintasi rekod dalam pangkalan data, kursor juga memudahkan pengambilan data, menambah dan menghapus rekod. Dengan menentukan cara yang betul, kursor juga dapat digunakan untuk melintasi kebelakang. Apabila pertanyaan SQL mengembalikan sekumpulan baris, pertanyaan itu sebenarnya diproses menggunakan kursor. Kursor perlu diisytiharkan dan diberi nama, sebelum dapat digunakan. Kemudian kursor perlu dibuka menggunakan perintah OPEN. Operasi ini akan meletakkan kursor tepat sebelum baris pertama set rekod hasil. Kemudian kursor harus melakukan operasi FETCH untuk benar-benar memasukkan deretan data ke aplikasi. Akhirnya, kursor harus ditutup menggunakan operasi TUTUP. Kursor tertutup boleh dibuka semula.
Apakah perbezaan antara Pencetus dan Kursor?
Pemicu adalah prosedur (segmen kod) yang dijalankan secara otomatis ketika beberapa peristiwa tertentu terjadi dalam tabel / tampilan pangkalan data, sementara kursor adalah struktur kontrol yang digunakan dalam pangkalan data untuk melalui catatan pangkalan data. Kursor boleh dinyatakan dan digunakan dalam pencetus. Dalam keadaan seperti itu, pernyataan menyatakan akan berada di dalam pencetus. Maka skop kursor akan terhad kepada pencetus itu. Dalam pemicu, jika kursor dinyatakan pada tabel yang disisipkan atau dihapus, kursor seperti itu tidak dapat diakses dari pemicu bersarang. Setelah pencetus selesai, semua kursor yang dibuat dalam pencetus akan dibahagikan.