Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Phương pháp thu thập:Hàm COUNT trong cơ sở dữ liệu Oracle

Tôi đã đề cập trong hướng dẫn trước rằng có 7 chức năng thu thập. Trong số bảy hàm thu thập này - COUNT () là hàm đầu tiên mà chúng ta sẽ khám phá trong hướng dẫn này. Nếu bạn đang theo dõi loạt bài về Bộ sưu tập PL / SQL này thì chắc hẳn bạn đã xem qua hàm bộ sưu tập này. Nhưng cho đến hôm nay, chúng tôi đã dành riêng một blog đầy đủ cho chủ đề này, do đó chúng tôi sẽ tự do và khám phá chi tiết phương thức thu thập COUNT ().

Phương thức thu thập COUNT () là gì?

Phương thức tập hợp COUNT () trả về số phần tử trong một tập hợp khởi tạo. Nếu được sử dụng với một bộ sưu tập khởi tạo không có phần tử nào; nó trả về số không.

Nhầm lẫn! Tại sao chúng tôi biểu thị các chức năng và quy trình thu thập là Phương thức thu thập? Đọc Giới thiệu về bộ sưu tập Các phương pháp để tìm ra câu trả lời.

Khi nào thì Phương thức thu thập COUNT () trả về 0?

Phương thức tập hợp COUNT () trả về 0 khi nó được áp dụng hoặc nói được sử dụng với tập hợp khởi tạo (tức là VARRAYs &Bảng lồng nhau) không có phần tử nào. Nó cũng trả về kết quả là 0 khi nó được sử dụng với một mảng liên kết trống.

Chữ ký của Phương thức Thu thập COUNT ()?

Chữ ký của hàm COUNT là -

FUNCTION COUNT RETURN PLS_INTEGER;

Đọc đề xuất:Hàm PL / SQL

Phương thức thu thập COUNT () có hoạt động giống với Bảng lồng nhau không?

Không. Điều này là do COUNT (), trả về số phần tử không trống trong bảng lồng nhau vì bảng lồng nhau của tập hợp có thể có các phần tử riêng lẻ trống.

Tại sao tôi lại gặp lỗi 'Collection_IS_NULL'?

Có vẻ như bạn đang sử dụng COUNT () với một bộ sưu tập chưa được khởi tạo. Bất cứ khi nào bạn áp dụng hàm thu thập COUNT () cho một tập hợp chưa được khởi tạo (tức là Bảng lồng nhau và VARRAY), nó sẽ tăng ngoại lệ ‘Collection_Is_Null’, ngoại lệ được xác định trước trong Cơ sở dữ liệu Oracle.

Vì Mảng liên kết không yêu cầu khởi tạo, do đó bạn sẽ không gặp phải ngoại lệ này với chúng. Bạn có thể đọc thêm về mảng liên kết tại đây.

Ví dụ về Phương thức thu thập COUNT ()

Ví dụ 1:Tính tổng số phần tử được lưu trữ trong bảng lồng nhau.

Bạn có thể sử dụng hàm COUNT () để tính tổng số phần tử được lưu trữ vào một tập hợp, chẳng hạn như bảng lồng nhau.

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;
/

Tiến lên; sao chép và dán đoạn mã trên vào IDE của bạn và xem kết quả.

Ví dụ 2. Hàm COUNT () với Điều kiện IF

Bạn có thể sử dụng hàm COUNT () để điều khiển luồng chương trình bằng cách sử dụng một điều kiện. Vì vậy, chúng ta hãy viết một chương trình rất đơn giản sẽ trình bày cách sử dụng phương thức tập hợp COUNT () với Điều kiện 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;
/

Tương tự, bạn có thể sử dụng phương thức thu thập COUNT () với Vòng lặp. Bạn có thể xem hướng dẫn PL / SQL về cùng chủ đề để học cách làm điều đó. Bạn có thể tìm thấy video tại đây.

Đó là một minh chứng rất đơn giản. Tôi chắc chắn rằng bạn có thể đưa ra một số ví dụ điên rồ hơn. Vì vậy, bạn còn chần chừ gì nữa, hãy tiếp tục và viết mã của bạn và xem bạn có thể sử dụng phương pháp này theo những cách khả thi nào khác.

Nếu bạn muốn tôi xem lại mã của bạn thì bạn có thể chia sẻ mã của bạn với tôi trên trang Facebook của tôi hoặc trên Twitter của tôi.

Bạn thích blog này như thế nào? Có điều gì bạn muốn chúng tôi cải thiện không? Hãy cho chúng tôi biết, bạn cảm thấy gì trên trang Facebook và trên Twitter của chúng tôi.

Cảm ơn và chúc một ngày tốt lành!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-30926:không thể có được một tập hợp các hàng ổn định trong các bảng nguồn

  2. Chi phí trong bộ nhớ của Oracle

  3. Làm thế nào để lưu BLOB dưới dạng tệp trong PL / SQL?

  4. Từ khóa FROM không được tìm thấy ở nơi mong đợi (Oracle SQL)

  5. Oracle SQL - Xác định phạm vi giá trị tuần tự