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

Metode Pengumpulan:Prosedur MEMPERPANJANG Dalam Database Oracle

Setelah Metode Pengumpulan PL/SQL DELETE, prosedur EXTEND dalam database Oracle adalah yang kedua dalam daftar. Kami telah menggunakan prosedur ini berulang kali tetapi tidak pernah mendapat kesempatan untuk menjelajahinya secara mendetail. Jadi saya telah memutuskan untuk mendedikasikan seluruh blog untuk metode Koleksi ini. Jadi, duduklah dan nikmati blog ini.

Jika Anda baru mengenal PL/SQL dan tidak tahu apa itu Prosedur, kami memiliki tutorial untuk Anda. Klik di sini dan pelajari semua tentang prosedur PL/SQL di Oracle Database.

Apa itu Metode Pengumpulan PL/SQL EXTEND?

Mirip dengan DELETE, metode Koleksi EXTEND adalah prosedur PL/SQL yang kelebihan beban yang digunakan untuk menambahkan elemen ke koleksi.

Dalam berapa banyak cara kita dapat memanggil prosedur EXTEND di Oracle Database?

Prosedur Pengumpulan PL/SQL adalah prosedur yang kelebihan beban. Oleh karena itu, ini berarti bahwa kita menyebut prosedur yang sama ini dengan cara yang berbeda. Cara berbeda untuk memanggil Collection Procedure EXTEND adalah –

  1. Perpanjang:Memperpanjang panggilan prosedur tanpa argumen apa pun.

Memanggil prosedur Koleksi PL/SQL Perluas tanpa argumen apa pun akan ditambahkan satu elemen NULL ke koleksi.

  1. Perpanjang (n):Perpanjang panggilan prosedur dengan satu argumen.

Prosedur pengumpulan Perluas dengan satu argumen akan menambahkan jumlah elemen NULL yang Anda sebutkan sebagai argumen prosedur . Namun, ingat bahwa argumen harus berupa nilai Integer yang valid.

  1. Perpanjang (n, v):Perpanjang panggilan prosedur dengan dua argumen.

Dalam hal ini argumen pertama menunjukkan jumlah elemen yang akan ditambahkan ke koleksi. Selain itu t Argumen kedua adalah nomor indeks. Selain itu, nilainya akan disalin dan ditetapkan ke setiap elemen koleksi yang baru ditambahkan. Bentuk EXTEND ini diperlukan untuk koleksi dengan “bukan elemen nol”.

Dapatkah kita menggunakan Metode Koleksi PL/SQL EXTEND dengan ketiga jenis koleksi?

Tidak, Metode Koleksi EXTEND hanya dapat diterapkan ke kumpulan Tabel Bersarang dan VARRAY. Selanjutnya, EXTEND tidak dapat digunakan dengan kumpulan Array Asosiatif.

Dapatkah Anda menunjukkan kepada kami spesifikasi prosedur EXTEND Metode Koleksi di Oracle Database?

Tentu saja mengapa tidak! Berikut adalah spesifikasi kelebihan dari Metode Pengumpulan PL/SQL EXTEND —

EXTEND Prosedur dengan satu argumen:

PROCEDURE EXTEND (n pls_integer := 1);

Metode Pengumpulan EXTEND dengan dua argumen:

PROCEDURE EXTEND (n pls_integer, v pls_integer);

Kapan sebaiknya kita menggunakan metode pengumpulan EXTEND dalam kode kita?

Ketika Anda memiliki koleksi (baik Tabel Bersarang atau VARRAY) dalam kode Anda yang tidak diinisialisasi dengan jumlah elemen yang cukup. Dalam hal ini Anda harus terlebih dahulu menggunakan Metode Pengumpulan PL/SQL EXTEND.

Apa persyaratan metode pengumpulan PL/SQL EXTEND?

Mendeklarasikan, Mendefinisikan dan Inisialisasi adalah tiga langkah yang harus kita lalui saat bekerja dengan koleksi di Oracle Database. Tetapi sebelum menyimpan data ke dalam indeks, kita perlu membuat slot memori untuk itu. Akibatnya, prosedur Pengumpulan PL/SQL EXTEND membantu kita dalam membuat slot memori untuk data tersebut.

Bagaimana jika kita telah menghapus atau memangkas bagian akhir koleksi?

Dalam hal ini, metode Koleksi PL/SQL EXTEND akan melewati elemen yang dihapus saat menetapkan indeks baru.

Bagaimana jika saya menerapkan metode pengumpulan EXTEND ke tabel Bersarang atau VARRAY yang tidak diinisialisasi?

Jika Metode Koleksi PL/SQL EXTEND diterapkan ke koleksi yang tidak diinisialisasi, maka itu akan menampilkan COLLECTION_IS_NULL pengecualian.

Dan bagaimana jika saya mencoba MEMPERPANJANG VARRAY melampaui batas yang ditentukan?

Jika metode pengumpulan EXTEND digunakan dengan VARRAY untuk memperluasnya melampaui batas yang ditentukan, maka Anda harus menghadapi pengecualian lain yaitu SUBSCRIPT_BEYOND_LIMIT.

Hai, Manish! Akankah kita melihat contoh Metode Pengumpulan EXTEND ini?

Ya, kami pasti akan melakukan demonstrasi dari setiap panggilan PL/SQL Collection prosedur EXTEND yang kami sebutkan di atas. Selain Extend Procedure Call dengan VARRAY.

1. Prosedur Pengumpulan PL/SQL EXTEND tanpa Argumen.

SET SERVEROUTPUT ON;
DECLARE
    TYPE my_nestedTable IS TABLE OF number;
    nt_obj  my_nestedTable := my_nestedTable();
BEGIN
    nt_obj.EXTEND;
    nt_obj(1) := 10;
    DBMS_OUTPUT.PUT_LINE ('Data at index 1 is '||nt_obj(1));
END;
/

2. Prosedur Koleksi EXTEND dengan Satu Argumen.

SET SERVEROUTPUT ON;
DECLARE
    TYPE my_nestedTable IS TABLE OF number;
    nt_obj  my_nestedTable := my_nestedTable();
BEGIN
    nt_obj.EXTEND(3);
    nt_obj(1) := 10;
    nt_obj(2) := 20;
    nt_obj(3) := 30;
    DBMS_OUTPUT.PUT_LINE ('Data at index 1 is '||nt_obj(1));
    DBMS_OUTPUT.PUT_LINE ('Data at index 2 is '||nt_obj(2)); 
    DBMS_OUTPUT.PUT_LINE ('Data at index 3 is '||nt_obj(3));
END;
/

3. Prosedur Pengumpulan PL/SQL EXTEND dengan Dua Argumen.

SET SERVEROUTPUT ON;
DECLARE
    TYPE my_nestedTable IS TABLE OF number;
    nt_obj  my_nestedTable := my_nestedTable();
BEGIN
    nt_obj.EXTEND;
    nt_obj(1) := 28;
    DBMS_OUTPUT.PUT_LINE ('Data at index 1 is '||nt_obj(1));
    nt_obj.EXTEND(5,1);
    DBMS_OUTPUT.PUT_LINE ('Data at index 4 is '||nt_obj(4));
END;
/

4. Prosedur Koleksi EXTEND (Tanpa Argumen) dengan VARRAY

SET SERVEROUTPUT ON;
DECLARE
    TYPE my_Varray IS VARRAY (5) OF NUMBER;
    vry_obj my_Varray := my_Varray();
BEGIN
    vry_obj.EXTEND;
    vry_obj(1) := 10;
    DBMS_OUTPUT.PUT_LINE('Data at index 1 is '||vry_obj(1));
END;
/

Setiap LOC dari semua hal di atas (Kecuali yang 4) dijelaskan secara rinci dalam Video Tutorial di saluran YouTube kami.

Semoga kami telah membahas semua kemungkinan pertanyaan tentang Metode Pengumpulan PL/SQL EXTEND yang dapat Anda hadapi dalam Ujian Sertifikasi Oracle db serta dalam Wawancara Anda. Juga, jika Anda memiliki kebingungan tentang Sertifikasi, Anda dapat merujuk ke Panduan Ujian Sertifikasi Database Oracle kami.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memetakan kunci asing dengan nama kolom khusus

  2. Fungsi NLS_COLLATION_ID() di Oracle

  3. Menghubungkan SQL Server ke Oracle

  4. Migrasi Lambat Ke Cloud

  5. Bagaimana cara menambahkan angka nol di depan dalam kueri Oracle SQL?