Hari ini kita akan melakukan beberapa demonstrasi praktis untuk mempelajari cara membuat VARRAY di Oracle Database, jadi silakan kunjungi tutorial terakhir untuk semua teori yang diperlukan tentang VARRAY. Seperti biasa saya akan mencoba untuk membuat contoh sesederhana mungkin. Jadi, jika Anda baru mengenal pemrograman, jangan khawatir, saya mengerti!
Sebelumnya kita telah membahas pada pengenalan PL/SQL VARRAYs bahwa seperti nested table VARRAYs dapat dibuat
- Sebagai anggota Blok PL/SQL dan
- Sebagai objek database.
Hari ini kita akan belajar cara membuat VARRAY sebagai Anggota blok PL/SQL dan meninggalkan sisanya untuk tutorial selanjutnya.
Langkah 1:Tentukan Varray di dalam blok PL/SQL
Anda dapat mendefinisikan varray hanya di dalam bagian deklarasi blok PL/SQL.
SET SERVEROUTPUT ON; DECLARE TYPE inBlock_vry IS VARRAY (5) OF NUMBER;
Dalam kode di atas kami membuat VARRAY dan menamakannya inBlock_vry. Varray ini mampu menampung 5 elemen tipe data Number.
Langkah 2:Inisialisasi Varray
Inisialisasi varray dapat dengan mudah dilakukan dengan menggunakan variabel koleksi. Untuk menginisialisasi VARRAY, pertama-tama kita akan mendefinisikan variabel koleksi dan kemudian menggunakannya untuk inisialisasi.
vry_obj inBlock_vry := inBlock_vry();
Dalam kode di atas kami membuat variabel koleksi dengan nama vry_obj dan menggunakannya untuk menginisialisasi varray inBlock_vry.
Info:
Beberapa buku menyebut variabel koleksi sebagai objek koleksi, jadi jangan bingung karena keduanya sama .
Langkah 3:Cara memasukkan data ke dalam VARRAY
Memasukkan data ke dalam varray sangat mirip dengan memasukkan data ke dalam array bahasa pemrograman lain. Anda dapat memasukkan data secara langsung ke setiap sel varray menggunakan nomor indeks atau Anda dapat menggunakan LOOP untuk mengisi varray.
Cara memasukkan data ke dalam VARRAY menggunakan indeks sel
Seperti yang kita ketahui bahwa struktur kumpulan sel PL/SQL terdiri dari sel dengan subscript yang disebut index. Kita dapat menggunakan indeks ini untuk memasukkan data ke dalam varray.
BEGIN vry_obj.EXTEND(5); vry_obj(1):= 10*2; DBMS_OUTPUT.PUT_LINE(vry_obj(1)); END; /
Bagian eksekusi -1
Dalam kode di atas kita menulis bagian eksekusi dari blok PL/SQL. Ini terdiri dari 3 pernyataan yang dapat dieksekusi. Ketiga pernyataan tersebut adalah –
Baris 6:Pernyataan 1
Pernyataan pertama adalah panggilan prosedur EXTEND. Dalam pernyataan ini kami mengalokasikan memori ke setiap sel VARRAY menggunakan prosedur EXTEND.
Baris 7:Pernyataan 2
Dalam pernyataan kedua kami menetapkan nilai numerik (nilai yang diturunkan dari ekspresi perkalian aritmatika) ke dalam sel pertama varray (sel dengan nomor indeks 1).
Info:
Dalam koleksi PL/SQL, nomor indeks VARRAY sel dimulai dengan 1 sedangkan nomor indeks sel dalam array dimulai dengan 0.
Baris 8:Pernyataan 3
Pernyataan ketiga adalah pernyataan keluaran dimana kita menampilkan nilai yang kita simpan ke dalam 1 sel VARRY kembali ke pengguna.
Begitulah cara Anda dapat menyimpan dan menampilkan nilai yang disimpan dalam sel individual varray. Proses ini bagus hanya jika Anda memiliki varray pendek. Kalau tidak, itu bukan cara yang efisien. Cara lain untuk memasukkan data ke dalam Varray adalah dengan menggunakan Loop.
Bacaan yang disarankan:Pengantar PL/SQL Loop
Cara memasukkan data ke dalam VARRAY menggunakan PL/SQL Loop
Cara paling umum untuk menangani data koleksi adalah dengan menggunakan Loops. Sebagian besar programmer terbiasa menggunakan Loops untuk menggilir data dari segala jenis array karena ini mudah, lebih sedikit memakan waktu dan memiliki lebih sedikit baris kode yang menjaga kode Anda lebih bersih dan membuatnya mudah dibaca. Singkatnya mudah dan efisien.
BEGIN FOR i IN 1 .. vry_obj.LIMIT LOOP vry_obj.EXTEND; vry_obj (i):= 10*i; DBMS_OUTPUT.PUT_LINE (vry_obj (i)); END LOOP; END; /
Bagian eksekusi -2
Kode di atas sudah saya jelaskan secara detail di Video tutorial di channel YouTube saya yang bisa kalian tonton disini.
Masih untuk meminimalkan kebingungan saya akan menjelaskan kepada Anda di sini dua fungsi utama yang digunakan di bagian eksekusi di atas (Bagian Eksekusi – 2) yaitu – Batas &Perpanjang.
Untuk memahami cara kerja kode yang ditampilkan di atas, diperlukan pemahaman tentang PL/SQL for loop. Dengan senang hati, saya telah melakukan tutorial terperinci tentang For-Loop, yang dapat Anda baca di sini.
Batas (baris 6): Limit adalah metode pengumpulan yang mengembalikan jumlah maksimum elemen yang diperbolehkan dalam VARRAY. Dalam kasus kami, jumlah maksimum elemen yang diperbolehkan dalam VARRAY adalah 5 (baris 3) yang selanjutnya menjadi batas atas For-Loop di sini.
Perpanjang (Baris 8): Extend adalah prosedur yang digunakan untuk mengalokasikan memori dan menambahkan elemen ke VARRAY. Jika digunakan tanpa argumen (Eksekusi Bagian-2 Baris 8) itu menambahkan elemen nol tunggal dan jika digunakan dengan argumen EXTEND (n) (eksekusi bagian -1 Baris 6) kemudian menambahkan n angka ke koleksi. Di mana n adalah bilangan bulat yang Anda berikan sebagai argumen untuk prosedur EXTEND.
Itulah tutorial PL/SQL tentang Cara membuat koleksi VARRAY di Oracle Database sebagai anggota blok PL/SQL. Harap pastikan untuk menyukai blog ini serta membagikannya dengan teman-teman Anda dan berlangganan saluran saya karena banyak Tutorial seperti itu yang akan datang. Terima kasih &semoga harimu menyenangkan!