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

Pernyataan FORALL Dengan Batas Bawah &Atas di Database Oracle

Pernyataan FORALL Dengan Klausa Batas Bawah &Atas

Dalam tutorial sebelumnya kita telah mempelajari bahwa ada tiga klausa terikat yang dapat kita gunakan dengan pernyataan FORALL untuk mengoptimalkan kueri DML. Dari ketiga klausa terikat tersebut kita akan menjelajahi yang pertama yaitu Batas Bawah dan Batas Atas dalam tutorial ini.

Apakah klausa Batas Bawah &Batas atas dari pernyataan FORALL?

Seperti namanya, Dengan klausa Batas Bawah &Atas kita harus menentukan rentang valid dari nomor indeks berurutan dari koleksi.

Apakah ada aturan untuk menggunakan klausa Batas Bawah &Batas Atas dengan pernyataan FORALL?

Klausa Batas Bawah &Atas hanya dapat digunakan bila koleksi yang Anda rujuk dalam pernyataan DML Anda Padat . Jika koleksi referensi jarang, Anda mungkin ingin menggunakan klausa terikat lain yang akan kita bahas di tutorial mendatang.

Agar program Anda berhasil dijalankan, Anda perlu memastikan bahwa Anda telah mengikuti semua aturan pernyataan FORALL bersama dengan aturan klausa Batas Bawah &Atas yang disebutkan di atas. Pelajari lebih lanjut tentang pernyataan FORALL di sini.

Mari kita lakukan contoh pernyataan FORALL dengan klausa Batas Bawah &Atas di Oracle Database.

Tapi sebelum melompat ke contoh kita perlu memahami satu hal; Pernyataan FORALL bekerja dengan cara yang sama seperti klausa pengumpulan massal tetapi dengan cara yang terbalik. Misalnya, dengan pengumpulan massal kami mengambil data dari tabel dan menyimpannya ke dalam koleksi, tetapi sekarang dengan pernyataan FORALL kami akan mengambil data dari koleksi dan menyimpannya ke dalam tabel.

Dalam demonstrasi ini kita akan melakukan tiga hal untuk memahami konsep pernyataan FORALL dengan klausa Batas Bawah &Batas Atas. Ketiga hal tersebut adalah:

  1. Buat Tabel.

Pertama kita akan membuat tabel. Kami akan menggunakan tabel ini untuk membuang data yang akan kami ambil dari koleksi.

  1. Buat &Isi Koleksi.

Langkah ini opsional jika Anda sudah memiliki koleksi dengan beberapa data. Jika Anda tidak mengikuti saya. Untuk demonstrasi saya akan membuat dan mengisi koleksi.

  1. Tuliskan pernyataan FORALL.

Setelah meja dan koleksi Anda siap, tulis pernyataan FORALL. Untuk demonstrasi saya akan menulis pernyataan FORALL yang akan mengambil data dari koleksi dan menyimpannya ke dalam tabel. Itu juga akan menjadi demonstrasi pernyataan FORALL dengan INSERT DML.

Mari kita lakukan contoh pernyataan PL/SQL FORALL dengan Batas Bawah dan Batas Atas.

SET SERVEROUTPUT ON;
CREATE TABLE tut_77 (
    Mul_tab    NUMBER(5)
);

Itu akan menjadi meja kami yang akan menyimpan data. Selanjutnya kita akan menulis blok PL/SQL.

DECLARE
	-- Declare the collection
    TYPE My_Array IS TABLE OF NUMBER INDEX BY PLS_INTEGER;
    col_var My_Array;
	--Declare a variable for holding the total number of records of the table
    tot_rec NUMBER;
BEGIN
    --Populate the collection
    FOR i IN 1..10 LOOP
        col_var (i) := 9*i;
    END LOOP;
    -- Write the FORALL statement.
    FORALL idx IN 1..10
        INSERT INTO tut_77 (mul_tab)
        VALUES (col_var (idx));
    --Get the total number of records from the table     
    SELECT count (*) INTO tot_rec FROM tut_77;
    DBMS_OUTPUT.PUT_LINE ('Total records inserted are '||tot_rec);
END;
/

Penjelasan Bagian Pernyataan

Di bagian deklarasi dari kode ini kami telah mendeklarasikan array Asosiatif dengan nama "my_Array" bersama dengan variabel koleksinya. Juga variabel tambahan dengan nama tot_rec dari tipe data Number. Variabel ini akan menampung jumlah total record yang disimpan ke dalam tabel kita.

Di bagian eksekusi kami telah melakukan tiga tugas. Pertama, dengan menggunakan FOR Loop kita mengisi koleksi kita dengan tabel perkalian 9. Kedua menggunakan pernyataan FORALL kita mengambil data dari koleksi dan menyimpannya ke dalam tabel yang kita buat. Ketiga menggunakan variabel tot_rec dengan pernyataan SELECT-INTO kami menampilkan kembali jumlah baris yang disimpan ke dalam tabel.

Saya juga telah membuat video tentang topik yang sama di mana saya telah menjelaskan kode di atas baris demi baris secara rinci. Saya sarankan Anda untuk memeriksanya.

Demikian tutorial statement PL/SQL FORALL dengan klausa Lower &Upper Bound di Oracle Database. Semoga Anda menikmati menonton. Harap pastikan untuk Suka &Bagikan blog ini dengan teman-teman Anda di media sosial Anda. Anda juga dapat menghubungi saya di halaman Facebook saya.

Terima kasih dan 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. Tipe Data Oracle

  2. SUM Bersyarat di Oracle

  3. Bagaimana Cara Membuat Direktori di Oracle?

  4. DBMS_JOB vs DBMS_SCHEDULER

  5. Java:Memanggil prosedur tersimpan dalam database oracle