Bây giờ chúng ta đã học các khái niệm về hàm tập hợp đầu tiên, là COUNT trong hướng dẫn trước. Đã đến lúc chuyển sang chức năng thứ hai của loạt phương pháp thu thập. Vì vậy, ở đây tôi giới thiệu cho bạn Phương pháp thu thập PL / SQL TỒN TẠI. Trong blog này, chúng ta sẽ khám phá chi tiết phương thức thu thập EXISTS ().
Phương thức thu thập EXISTS () là gì?
Phương thức Collection EXISTS () kiểm tra sự tồn tại của một phần tử tại một chỉ mục cụ thể trong một tập hợp. Nếu nó tìm thấy phần tử được chỉ định thì nó trả về TRUE, ngược lại nó trả về FALSE.
Bạn có thể sử dụng hàm EXISTS () để kiểm tra sự tồn tại của một hàng cụ thể trong bộ sưu tập.
Cú pháp của phương thức thu thập EXISTS ()
Cú pháp của hàm EXISTS () là -
EXISTS (index number);
Hàm EXISTS lấy chỉ số / số chỉ mục của một ô trong tập hợp làm Đầu vào và tìm kiếm nó trong tập hợp. Nếu nó tìm thấy bất kỳ phần tử nào tương ứng với số chỉ mục thì nó trả về TRUE, ngược lại nó trả về FALSE.
Phương thức thu thập EXISTS có trả về NULL không?
Không có hàm EXISTS không trả về null. Nó trả về True hoặc False.
Điều gì sẽ xảy ra nếu tôi xóa một hàng đã tồn tại bằng cách sử dụng hàm TRIM hoặc DELETE?
Nếu bạn xóa một hàng bằng cách sử dụng hàm Trim hoặc Delete thì phương thức thu thập EXISTS () sẽ trả về FALSE cho chỉ mục của hàng đó.
Phương thức thu thập EXISTS có gây ra bất kỳ ngoại lệ nào không?
Không, phương pháp thu thập EXISTS không đưa ra bất kỳ ngoại lệ nào. Trên thực tế, đây là hàm duy nhất không đưa ra bất kỳ ngoại lệ nào, ngay cả khi nó được sử dụng với một bộ sưu tập chưa được khởi tạo.
Nếu nó không tạo ra một ngoại lệ thì điều gì sẽ xảy ra nếu tôi áp dụng chức năng này cho một bộ sưu tập chưa được khởi tạo?
Phương thức tập hợp EXISTS () trả về false, nếu nó được áp dụng cho một tập hợp chưa được khởi tạo hoặc cho một tập hợp khởi tạo không có phần tử nào.
Ví dụ về Phương thức Thu thập EXISTS ().
Ví dụ đơn giản này sẽ chỉ cho bạn cách bạn có thể sử dụng chức năng này trong ứng dụng của mình.
SET SERVEROUTPUT ON; DECLARE --Declare a local Nested Table TYPE my_nested_table IS TABLE OF VARCHAR2 (20); --Declare collection variable and initialize the collection. col_var_1 my_nested_table := my_nested_table('Super Man','Iron Man','Bat Man'); BEGIN IF col_var_1.EXISTS (1) THEN DBMS_OUTPUT.PUT_LINE ('Hey we found '||col_var_1 (1)); ELSE DBMS_OUTPUT.PUT_LINE ('Sorry, no data at this INDEX'); END IF; END; /
Trong chương trình trên, chúng tôi đang kiểm tra xem có bất kỳ phần tử nào ở chỉ mục 1 vào tập hợp ‘my_nested_table’ hay không. Nếu có một phần tử tại chỉ mục được chỉ định thì phần IF của câu lệnh IF-ELSE sẽ thực thi nếu không phần ELSE sẽ hoạt động.
Bạn sẽ làm gì…?
Giả sử bạn muốn chèn một dữ liệu vào một chỉ mục cụ thể nhưng bạn không chắc liệu chỉ mục đó có đang giữ một số dữ liệu hay không. Trong trường hợp nếu nó đang giữ bất kỳ thì bạn không muốn ghi đè nó. Bạn sẽ làm gì trong trường hợp này?
Để biết cách bạn có thể sử dụng phương pháp thu thập TỒN TẠI để tìm giải pháp cho vấn đề này, hãy tiếp tục và xem hướng dẫn PL / SQL trên kênh YouTube của tôi.
Đó 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.