Perbedaan Antara Kursor Eksplisit Dan Kursor Implisit

Perbedaan Antara Kursor Eksplisit Dan Kursor Implisit
Perbedaan Antara Kursor Eksplisit Dan Kursor Implisit

Video: Perbedaan Antara Kursor Eksplisit Dan Kursor Implisit

Video: Perbedaan Antara Kursor Eksplisit Dan Kursor Implisit
Video: KALKULUS 1 DIFERENSIAL EKSPLISIT & IMPLISIT 2024, Desember
Anonim

Kursor Eksplisit vs Kursor Implisit

Dalam hal database, kursor adalah struktur kontrol yang memungkinkan untuk melakukan traverse atas record dalam database. Kursor menyediakan mekanisme untuk menetapkan nama ke pernyataan pilih SQL dan kemudian dapat digunakan untuk memanipulasi informasi di dalam pernyataan SQL itu. Kursor implisit secara otomatis dibuat dan digunakan setiap kali pernyataan Select dikeluarkan dalam PL / SQL, ketika tidak ada kursor yang didefinisikan secara eksplisit. Kursor eksplisit, seperti namanya, didefinisikan secara eksplisit oleh pengembang. Dalam PL / SQL, kursor eksplisit sebenarnya adalah kueri bernama yang ditentukan menggunakan kursor kata kunci.

Apa itu Kursor Implisit?

Kursor implisit secara otomatis dibuat dan digunakan oleh Oracle setiap kali pernyataan pilih dikeluarkan. Jika kursor implisit digunakan, Database Management System (DBMS) akan melakukan operasi buka, ambil, dan tutup secara otomatis. Kursor implisit harus digunakan hanya dengan pernyataan SQL yang mengembalikan satu baris. Jika pernyataan SQL mengembalikan lebih dari satu baris, menggunakan kursor implisit akan menyebabkan kesalahan. Kursor implisit secara otomatis dikaitkan dengan setiap pernyataan Bahasa Manipulasi Data (DML), yaitu pernyataan INSERT, UPDATE dan DELETE. Juga, kursor implisit digunakan untuk memproses pernyataan SELECT INTO. Saat mengambil data menggunakan kursor implisit, pengecualian NO_DATA_FOUND dapat dimunculkan saat pernyataan SQL tidak mengembalikan data. Selanjutnya,kursor implisit bisa memunculkan TOO_MANY_ROWS pengecualian saat pernyataan SQL mengembalikan lebih dari satu baris.

Apa itu Kursor Eksplisit?

Seperti yang disebutkan sebelumnya, kursor eksplisit adalah kueri yang ditentukan menggunakan nama. Kursor eksplisit dapat dianggap sebagai penunjuk ke sekumpulan catatan dan penunjuk dapat dipindahkan ke depan dalam kumpulan catatan. Kursor eksplisit memberi pengguna kendali penuh atas pembukaan, penutupan, dan pengambilan data. Selain itu, beberapa baris dapat diambil menggunakan kursor eksplisit. Kursor eksplisit juga dapat mengambil parameter seperti fungsi atau prosedur apa pun sehingga variabel di kursor dapat diubah setiap kali dijalankan. Selain itu, kursor eksplisit memungkinkan Anda mengambil seluruh baris ke variabel data PL / SQL. Saat menggunakan kursor eksplisit, pertama-tama harus dideklarasikan menggunakan nama. Atribut kursor dapat diakses dengan menggunakan nama yang diberikan ke kursor. Setelah dideklarasikan, kursor harus dibuka terlebih dahulu. Kemudian pengambilan bisa dimulai. Jika beberapa baris perlu diambil, operasi pengambilan perlu dilakukan di dalam loop. Terakhir, kursor harus ditutup.

Perbedaan Antara Kursor Eksplisit dan Kursor Implisit

Perbedaan utama antara kursor implisit dan kursor eksplisit adalah bahwa kursor eksplisit perlu didefinisikan secara eksplisit dengan memberikan nama, sedangkan kursor implisit dibuat secara otomatis saat Anda mengeluarkan pernyataan pilih. Selain itu, beberapa baris dapat diambil menggunakan kursor eksplisit sedangkan kursor implisit hanya dapat mengambil satu baris. Juga NO_DATA_FOUND dan TOO_MANY_ROWS pengecualian tidak dimunculkan saat menggunakan kursor eksplisit, sebagai lawan dari kursor implisit. Intinya, kursor implisit lebih rentan terhadap kesalahan data dan memberikan lebih sedikit kontrol terprogram daripada kursor eksplisit. Juga, kursor implisit dianggap kurang efisien daripada kursor eksplisit.

Direkomendasikan: