Apa itu PL/SQL Ref Cursors Di Oracle Database?
Dalam hal kinerja, PL/SQL Ref Cursors di Oracle selalu membuktikan diri lebih unggul daripada kursor statis. Karena kemampuan kursor ref tunggal untuk dikaitkan dengan beberapa pernyataan SELECT dalam satu blok PL/SQL. Selain itu, ini mengurangi kebutuhan untuk menulis kursor eksplisit yang terpisah. Selain itu, ini menjadikannya fitur bahasa PL/SQL yang sangat efisien, fleksibel, dan kuat. Jadi mari kita jelajahi Ref Cursors di PL/SQL dan pelajari lebih lanjut tentangnya.
Apa yang dimaksud dengan PL/SQL Ref Cursors di Oracle Database?
Ref Cursor adalah singkatan dari Reference to a Cursor. Ini adalah tipe data PL/SQL yang dapat digunakan untuk mendeklarasikan tipe variabel khusus yang disebut Variabel Kursor.
Apakah Variabel Kursor dan Kursor Ref terhubung satu sama lain?
Itu adalah pertanyaan yang sangat bagus. Saya melihat di banyak buku bahwa kedua nama ini digunakan secara bergantian. Namun keduanya adalah dua topik yang terpisah namun saling bergantung.
Di satu sisi variabel kursor seperti pointer yang mengacu pada area konteks yang berbeda di SGA. Sedangkan Ref Cursor adalah tipe data yang menyimpan nilai kursor.
Lalu, bagaimana Variabel Kursor dan Kursor Ref saling bergantung satu sama lain?
Seperti disebutkan di atas, Variabel Kursor dideklarasikan dengan bantuan Kursor Ref. Akibatnya, kita dapat mengatakan bahwa di Oracle Database variabel kursor ada dalam bentuk Ref Cursors.
Definisi Variabel Kursor
Dengan menggunakan semua informasi di atas, kita dapat mendefinisikan variabel kursor sebagai:Sebuah variabel dari Tipe Kursor Ref disebut Variabel Kursor.
Apa sintaks untuk Mendeklarasikan Kursor Ref?
Berikut adalah sintaks umum untuk mendeklarasikan kursor Ref di Oracle Database:
DECLARE TYPE [cursor_variable_name] IS REF CURSOR [RETURN (return_type)];
Sintaks dapat dimodifikasi dan digunakan tergantung pada jenis kursor Ref yang ingin Anda gunakan dalam aplikasi Anda. Karena itu mari kita lihat jenis Ref Cursors yang tersedia di Oracle Database.
Berapa banyak jenis kursor ref PL/SQL yang kita miliki?
Ada dua jenis kursor Ref di PL/SQL. Ini adalah:
- Kusor Ref Kuat dan
- Kursor Ref Lemah
Apa itu Strong Ref Cursor di Oracle Database?
Setiap Ref Cursor yang memiliki tipe pengembalian tetap disebut Strong Ref Cursor.
Selain itu kursor ref tersebut hanya dapat digunakan dengan beberapa pernyataan SELECT. Selain itu, hasil tipe data pernyataan SELECT harus cocok dengan yang diperbaiki selama deklarasi kursor kuat.
Sintaks Kursor Ref Kuat di PL/SQL
Berikut adalah sintaks kursor ref yang kuat.
DECLARE TYPE cursor_variable_name IS REF CURSOR RETURN (return type);
Klausa Return memainkan peran yang sangat vital dalam mendeklarasikan Ref Cursor. Ini membatasi ruang lingkupnya. Dan membuat Ref Cursor Anda terbatas hanya pada pernyataan SELECT yang mengembalikan hasil yang tipe datanya cocok dengan yang Anda tentukan dalam klausa RETURN saat mendeklarasikannya.
Juga tipe kembalian dari Ref Cursor harus selalu dari Record Datatype. Ini bisa berupa struktur record dari tabel atau struktur record yang ditentukan pengguna.
Apa itu Lemah Ref Cursor di Oracle Database?
Berbeda dengan kursor ref yang kuat, kursor ref yang lemah adalah mereka yang tidak memiliki tipe pengembalian. Dengan kata lain, kursor ref yang tidak memiliki tipe pengembalian tetap disebut kursor ref lemah.
Karena Kursor Ref yang lemah tidak memiliki tipe pengembalian tetap, maka mereka terbuka untuk semua pernyataan SELECT. Dan ini menjadikannya salah satu kursor Ref yang paling banyak digunakan di PL/SQL.
Sintaks Kursor Ref Lemah di PL/SQL
DECLARE TYPE ref_cursor_name IS REF CURSOR;
Kecuali dari klausa pengembalian yang hilang, sintaksnya sangat mirip dengan kursor ref yang kuat.
Sebuah penelitian di Kanada menunjukkan bahwa manusia secara biologis terprogram untuk menjadi malas. Juga, apa gunanya memiliki komputer dengan semua kekuatan pemrosesan ini ketika kita harus melakukan semua kerja keras untuk mendeklarasikan tipe penunjuk Ref dan kemudian membuat variabel.
Nah, teman-teman terkasih jika Anda adalah salah satu dari mereka yang ingin menahan diri dari melakukan semua kerja keras untuk membuat Variabel Kursor maka Oracle PL/SQL memiliki pilihan untuk Anda. Opsi ini akan berfungsi sebagai variabel kursor yang dibuat secara implisit untuk Anda. Jadi, mari kita lihat apa itu.
Sys_RefCursor
Kursor Sys Ref adalah variabel kursor bawaan Oracle. Ini mendeklarasikan kursor ref yang lemah dan itu juga tanpa mendeklarasikan tipe pointer ref. Sebagian besar digunakan sebagai kursor generik yang dapat diteruskan sebagai argumen ke sub program yang disimpan.
Sekian untuk tutorial tentang pengenalan PL/SQL Ref Cursors di Oracle Database. Tetap disini karena dalam tutorial yang akan datang kami akan melakukan beberapa demonstrasi praktis dari Ref Cursor di Oracle PL/SQL.
Anda juga dapat melihat tutorial video tentang topik yang sama di saluran YouTube saya untuk detail lebih lanjut.
Terima kasih sudah mampir. Semoga harimu menyenangkan!