Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Koleksi PL/SQL:Tabel Bersarang di Database Oracle

Cara Membuat Tabel Bersarang Di Dalam Blok PL/SQL

Selamat datang di tutorial kedua dari seri PL/SQL Collection. Dalam tutorial ini kita akan mempelajari tipe pertama dari Collection yaitu “Nested Table”. Tabel di dalam tabel adalah definisi paling sederhana yang dapat dibuat dan itu benar dalam segala hal karena tabel yang disematkan di dalam tabel lain persis seperti yang disarankan oleh nama tabel bersarang.

Tetapi, jika kita harus mendefinisikan koleksi 'Tabel bersarang' dengan cara yang lebih mewah dan teknis, maka kita dapat mengatakan bahwa Tabel bersarang adalah struktur satu dimensi yang sifatnya persisten dan tidak terbatas. Mereka dapat diakses dalam SQL serta PL/SQL dan dapat digunakan dalam tabel, catatan, dan definisi objek. Karena ini adalah koleksi PL/SQL yang tidak terbatas, maka ia dapat menampung sejumlah elemen dalam set yang dipesan secara acak.

Definisi
Tabel bertingkat adalah struktur satu dimensi yang sifatnya persisten dan tidak terbatas. Mereka dapat diakses dalam SQL serta PL/SQL dan dapat digunakan dalam tabel, catatan, dan definisi objek. Karena ini adalah koleksi PL/SQL yang tidak terbatas, maka ia dapat menampung sejumlah elemen dalam set yang tidak berurutan.

Bacaan yang disarankan:Pengantar Koleksi PL/SQL

Tabel bersarang dapat dibuat di dalam blok PL/SQL atau di database sebagai objek tipe koleksi (Objek Skema). Dalam kasus tabel bersarang sebelumnya berperilaku sebagai array satu dimensi tanpa jenis indeks atau batas atas apa pun.

Jadi untuk saat ini mari berkonsentrasi pada cara membuat Nested Table di dalam blok PL/SQL dan tinggalkan sisanya untuk tutorial selanjutnya.

Sintaks untuk Membuat Tabel Bersarang

DECLRE 
TYPE nested_table_name IS TABLE OF element_type [NOT NULL];

Saya telah menjelaskan sintaks ini secara rinci dalam tutorial video saya di saluran YouTube saya. Saya sangat menyarankan Anda untuk merujuk ke video itu.

Contoh:Bagaimana Cara Membuat Tabel Bersarang di dalam Blok PL/SQL?

Contoh berikut hanya untuk mendemonstrasikan cara membuat tabel bersarang, tidak ada yang mewah tentangnya.

SET SERVEROUTPUT ON;
DECLARE
   TYPE my_nested_table   IS TABLE OF number;
    var_nt  my_nested_table :=  my_nested_table (9,18,27,36,45,54,63,72,81,90);
BEGIN
   DBMS_OUTPUT.PUT_LINE ('Value Stored at index 1 in NT is ' ||var_nt (1)); 
   DBMS_OUTPUT.PUT_LINE ('Value Stored at index 2 in NT is ' ||var_nt (2));
   DBMS_OUTPUT.PUT_LINE ('Value Stored at index 3 in NT is ' ||var_nt (3));
END;
 /

Contoh di atas adalah contoh yang sangat sederhana di mana kita membuat tabel bersarang dan menamakannya 'my_nested_table' (nomor baris 3). Di baris berikutnya (baris nomor 4) kami membuat turunan dari koleksi yang sama dan menggunakannya untuk menginisialisasi tabel bersarang dan menyimpan beberapa data ke dalamnya. Di bagian eksekusi, kami mengakses data yang disimpan satu per satu menggunakan nomor indeks, cara yang sama seperti yang biasa kami lakukan dalam array.

Alih-alih mengakses data satu per satu secara manual menggunakan indeks, kita dapat menggunakan loop dan siklus melalui setiap elemen dari kumpulan tabel bersarang.

 SET SERVEROUTPUT ON;
 DECLARE
   TYPE my_nested_table   IS TABLE OF number;
   var_nt  my_nested_table :=  my_nested_table (9,18,27,36,45,54,63,72,81,90);
 BEGIN
   FOR i IN 1..var_nt.COUNT
   LOOP
     DBMS_OUTPUT.PUT_LINE ('Value stored at index '||i||'is '||var_nt(i));
   END LOOP;
 END;
 /

Itu adalah contoh lain cara membuat tabel bersarang di mana kita menggilir data dan menampilkannya kembali ke pengguna menggunakan For Loop.

Itu saja tentang cara membuat tabel bersarang di blok PL/SQL. Nantikan terus karena dalam tutorial berikutnya kita akan mempelajari cara membuat tabel bersarang sebagai objek koleksi database dan semua tampilan kamus data apa yang dapat Anda gunakan untuk mendapatkan informasi tabel bersarang yang disimpan dalam database Anda.

Itu saja. Terima kasih telah membaca &semoga harimu menyenangkan!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alat pengembang Oracle SQL:Unduh &Instalasi

  2. Menerapkan Penguncian Optimis di Oracle

  3. Perbedaan tanggal Oracle untuk mendapatkan jumlah tahun

  4. FLOOR() Fungsi di Oracle

  5. Oracle SQL - max() dengan nilai NULL