Rumah > Artikel > hujung hadapan web > Koleksi Jadual Bersarang dalam PL/SQL
Jadual Bersarang dalam PL/SQL ialah sejenis koleksi yang membolehkan anda menyimpan bilangan unsur yang tidak terhad daripada jenis yang sama. Ia amat berguna untuk menyimpan set data dalam format berstruktur, menjadikannya sesuai untuk senario di mana anda perlu mengurus berbilang baris data berkaitan.
Takrifan Mudah
Jadual Bersarang: Jadual bersarang ialah jenis koleksi yang boleh memuatkan bilangan unsur arbitrari (daripada jenis data yang sama). Tidak seperti VARRAY, jadual bersarang boleh menjadi jarang, bermakna ia boleh mempunyai jurang dalam pengindeksannya.
Sintaks dan Struktur
Sintaks
BUAT ATAU GANTIKAN TYPE type_name SEBAGAI JADUAL jenis_elemen;
type_name: Nama jenis jadual bersarang.
elemen_jenis: Jenis data unsur dalam jadual bersarang (cth., VARCHAR2, NUMBER atau jenis objek).
nama_pembolehubah jenis_nama;
EXTEND(n): Meningkatkan saiz jadual bersarang dengan n elemen.
TRIM(n): Mengecilkan saiz jadual bersarang dengan n elemen.
DELETE(i): Mengalih keluar elemen pada indeks i.
COUNT: Mengembalikan bilangan elemen dalam jadual bersarang.
Contoh Contoh: Jadual Bersarang Hari Dalam Minggu
Berikut ialah contoh komprehensif yang menunjukkan cara membuat jadual bersarang untuk hari dalam seminggu, mengisinya dan memaparkan kandungannya.
Langkah 1: Buat Jenis Jadual Bersarang
Pertama, kami mentakrifkan jenis jadual bersarang untuk menyimpan nama hari itu.
BUAT ATAU GANTIKAN JENIS DaysOfWeek SEBAGAI JADUAL VARCHAR2(15);
Langkah 2: Isytihar dan Isi Jadual Bersarang
Seterusnya, kami mengisytiharkan pembolehubah jenis ini dan mengisinya dengan hari dalam seminggu.
ISYTIHKAN
hari DaysOfWeek; -- Isytiharkan pembolehubah jadual bersarang
BERMULA
-- Mulakan jadual bersarang
hari := DaysOfWeek();
-- Add elements to the nested table days.EXTEND(7); -- Extend the size by 7 for all days of the week days(1) := 'Monday'; days(2) := 'Tuesday'; days(3) := 'Wednesday'; days(4) := 'Thursday'; days(5) := 'Friday'; days(6) := 'Saturday'; days(7) := 'Sunday'; -- Display the elements in the nested table FOR i IN 1 .. days.COUNT LOOP DBMS_OUTPUT.PUT_LINE('Day ' || i || ': ' || days(i)); END LOOP;
TAMAT;
/
Penjelasan Terperinci
Pernyataan CIPTA ATAU GANTIKAN JENIS DaysOfWeek SEBAGAI JADUAL VARCHAR2(15); mentakrifkan jenis jadual bersarang baharu yang dipanggil DaysOfWeek yang boleh memuatkan rentetan sehingga 15 aksara panjang. Jenis ini akan digunakan untuk menyimpan nama hari.
Dalam blok DECLARE, hari diisytiharkan sebagai pembolehubah jenis DaysOfWeek. Pembolehubah ini akan menyimpan koleksi hari kami.
hari := DaysOfWeek(); memulakan pembolehubah hari sebagai jadual bersarang kosong jenis DaysOfWeek.
hari.EXTEND(7); meningkatkan saiz jadual bersarang hari untuk memuatkan 7 elemen (satu untuk setiap hari dalam seminggu).
Setiap hari diberikan kepada indeks yang sepadan:
hari(1) := 'Isnin';
hari(2) := 'Selasa';
hari(3) := 'Rabu';
hari(4) := 'Khamis';
hari(5) := 'Jumaat';
hari(6) := 'Sabtu';
hari(7) := 'Ahad';
Gelung FOR berulang melalui jadual bersarang hari menggunakan hari.COUNT untuk menentukan bilangan elemen yang hadir.
DBMS_OUTPUT.PUT_LINE output setiap hari bersama dengan indeksnya.
Output
Apabila blok ini dilaksanakan, outputnya ialah:
Hari 1: Isnin
Hari 2: Selasa
Hari 3: Rabu
Hari 4: Khamis
Hari 5: Jumaat
Hari 6: Sabtu
Hari 7: Ahad
Kesimpulan
Contoh ini menunjukkan cara mentakrif, mengisi dan memanipulasi jadual bersarang dalam PL/SQL. Jadual bersarang ialah struktur serba boleh yang membolehkan anda mengendalikan pengumpulan data dengan cekap dan ia boleh digunakan dalam pelbagai aplikasi yang memerlukan pengurusan data dinamik.
Atas ialah kandungan terperinci Koleksi Jadual Bersarang dalam PL/SQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!