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

Metode Pengumpulan:Fungsi COUNT Dalam Database Oracle

Saya sebutkan di tutorial sebelumnya bahwa ada 7 fungsi koleksi. Di antara tujuh fungsi koleksi ini – COUNT ( ) adalah yang pertama yang akan kita jelajahi dalam tutorial ini. Jika Anda mengikuti rangkaian Koleksi PL/SQL ini maka Anda pasti sudah menemukan fungsi koleksi ini. Tapi mulai hari ini kami telah mendedikasikan blog lengkap untuk topik ini sehingga kami akan bebas dan menjelajahi metode pengumpulan COUNT ( ) secara rinci.

Apa itu Metode Pengumpulan COUNT ( )?

Metode koleksi COUNT ( ) mengembalikan jumlah elemen dalam koleksi inisialisasi. Jika digunakan dengan koleksi inisialisasi tanpa elemen; itu mengembalikan nol.

Bingung! Mengapa kami menyatakan fungsi dan prosedur koleksi sebagai Metode Koleksi? Baca Pengantar Koleksi Metode untuk mengetahui jawabannya.

Kapan Metode Pengumpulan COUNT ( ) menghasilkan nol?

Metode pengumpulan COUNT ( ) mengembalikan nol ketika diterapkan atau katakanlah digunakan dengan koleksi inisialisasi (yaitu VARRAY &Tabel Bersarang) tanpa elemen. Ini juga mengembalikan nol sebagai hasilnya saat digunakan dengan larik terkait yang kosong.

Tanda Tangan Metode Pengumpulan COUNT ( )?

Tanda tangan dari fungsi COUNT adalah –

FUNCTION COUNT RETURN PLS_INTEGER;

Bacaan yang Disarankan:Fungsi PL/SQL

Apakah metode pengumpulan COUNT ( ) berfungsi sama dengan Tabel Bersarang?

Tidak. Hal ini karena COUNT ( ), mengembalikan jumlah elemen yang tidak kosong dalam tabel bertingkat karena tabel bertingkat koleksi dapat memiliki elemen individual yang kosong.

Mengapa saya mendapatkan kesalahan 'Collection_IS_NULL'?

Sepertinya Anda menggunakan COUNT ( ) dengan koleksi yang belum diinisialisasi. Setiap kali Anda menerapkan fungsi koleksi COUNT ( ) ke koleksi yang tidak diinisialisasi (yaitu Tabel Bersarang &VARRAYs) itu memunculkan pengecualian 'Collection_Is_Null' yang merupakan pengecualian yang telah ditentukan sebelumnya di Oracle Database.

Karena Array Asosiatif tidak memerlukan inisialisasi, maka Anda tidak akan mendapatkan pengecualian ini. Anda dapat membaca lebih lanjut tentang array Asosiatif di sini.

Contoh Metode Pengumpulan COUNT ( )

Contoh 1:Hitung jumlah total elemen yang disimpan dalam tabel Bersarang.

Anda dapat menggunakan fungsi COUNT ( ) untuk menghitung jumlah total elemen yang disimpan ke dalam koleksi seperti 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
    DBMS_OUTPUT.PUT_LINE ('The Size of the Nested Table is ' ||var_nt.count);
END;
/

Lanjutkan; salin dan tempel kode di atas di IDE Anda dan lihat hasilnya.

Contoh 2. Fungsi COUNT ( ) dengan Kondisi IF

Anda dapat menggunakan fungsi COUNT ( ) untuk mengontrol aliran program menggunakan suatu kondisi. Jadi mari kita buat program yang sangat sederhana yang akan mendemonstrasikan cara menggunakan Metode koleksi COUNT ( ) dengan Kondisi IF.

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
    IF var_nt.count >= 10 THEN
        DBMS_OUTPUT.PUT_LINE (‘you have already inserted 10 elements in your Nested table.');
        DBMS_OUTPUT.PUT_LINE ('Are you sure you want to insert more?');
    END IF;
END;
/

Demikian pula Anda dapat menggunakan metode pengumpulan COUNT ( ) dengan Loops. Anda dapat menonton tutorial PL/SQL dengan topik yang sama untuk mempelajari cara melakukannya. Anda dapat menemukan videonya di sini.

Itu adalah demonstrasi yang sangat sederhana. Saya yakin Anda dapat menemukan beberapa contoh yang lebih gila. Jadi tunggu apa lagi, lanjutkan dan tulis kode Anda dan lihat cara lain yang memungkinkan Anda menggunakan metode ini.

Jika Anda ingin saya meninjau kode Anda, Anda dapat membagikan kode Anda kepada saya di halaman Facebook saya atau di Twitter saya juga.

Bagaimana Anda menyukai blog ini? Apakah ada yang Anda ingin kami tingkatkan? Beri tahu kami, apa yang Anda rasakan di halaman Facebook kami dan di Twitter kami.

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. Apa yang setara dengan varchar(max) di Oracle?

  2. Mendapatkan kesalahan saat Menjalankan Paket

  3. Apa sebenarnya yang dilakukan tanda kutip di sekitar nama tabel?

  4. Perhitungan Oracle Age dari Tanggal lahir dan Hari Ini

  5. ORA-16205 Meningkatkan ke 11.2.0.3