Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Metoda gromadzenia:funkcja ISTNIEJE w bazie danych Oracle

Teraz, gdy nauczyliśmy się koncepcji pierwszej funkcji zbierania, którą w poprzednim samouczku jest LICZBA. Czas przejść do drugiej funkcji serii metod zbierania. Dlatego tutaj przedstawiam metodę zbierania PL/SQL ISTNIEJE. W tym blogu szczegółowo omówimy metodę zbierania ISTNIEJE ( ).

Co to jest metoda gromadzenia EXISTS ( )?

Collection Method EXISTS ( ) sprawdza istnienie elementu w określonym indeksie w kolekcji. Jeśli znajdzie określony element, zwróci TRUE, w przeciwnym razie zwróci FALSE.

Możesz użyć funkcji ISTNIEJE ( ), aby sprawdzić istnienie określonego wiersza w kolekcji.

Składnia metody pobierania ISTNIEJE ( )

Składnia funkcji ISTNIEJE ( ) to –

EXISTS (index number);

Funkcja EXISTS pobiera indeks/numer indeksu komórki kolekcji jako Input i przeszukuje ją w kolekcji. Jeśli znajdzie element odpowiadający numerowi indeksu, zwróci TRUE, w przeciwnym razie zwróci FALSE.

Czy metoda zbierania EXISTS zwraca NULL?

Żadna funkcja EXISTS nie zwraca wartości null. Zwraca prawdę lub fałsz.

Co się stanie, jeśli usunę już istniejący wiersz za pomocą funkcji TRIM lub DELETE?

Jeśli usuniesz wiersz za pomocą funkcji Trim lub Delete, metoda zbierania EXISTS ( ) zwróci FALSE dla indeksu tego wiersza.

Czy metoda zbierania EXISTS powoduje wyjątek?

Nie, metoda zbierania EXISTS nie wywołuje żadnego wyjątku. W rzeczywistości jest to jedyna funkcja, która nie zgłasza żadnego wyjątku, nawet jeśli jest używana z niezainicjowaną kolekcją.

Jeśli nie zgłosi wyjątku, co się stanie, jeśli zastosuję tę funkcję do niezainicjowanej kolekcji?

Metoda kolekcji EXISTS ( ) zwraca wartość false, jeśli zostanie zastosowana do niezainicjowanej kolekcji lub do kolekcji inicjowanej bez elementów.

Przykład metody zbierania ISTNIEJE ( ).

Ten prosty przykład pokaże Ci, jak możesz użyć tej funkcji w swojej aplikacji.

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

W powyższym programie sprawdzamy, czy w kolekcji „my_nested_table” znajduje się jakiś element o indeksie 1, czy nie. Jeśli istnieje element pod określonym indeksem, część IF instrukcji IF-ELSE zostanie wykonana, w przeciwnym razie część ELSE wejdzie w akcję.

Co zrobisz…?

Załóżmy, że chcesz wstawić dane do określonego indeksu, ale nie masz pewności, czy indeks zawiera już jakieś dane, czy nie. W przypadku, gdy trzyma którykolwiek, nie chcesz go nadpisywać. Co zrobisz w takim przypadku?

Aby dowiedzieć się, w jaki sposób możesz użyć metody zbierania ISTNIEJE, aby znaleźć rozwiązanie tego problemu, obejrzyj samouczek PL/SQL na moim kanale YouTube.

To bardzo prosta demonstracja. Jestem pewien, że możesz wymyślić kilka bardziej szalonych przykładów. Więc na co czekasz, śmiało napisz swój kod i zobacz, na jakie inne możliwe sposoby możesz użyć tej metody.

Jeśli chcesz, abym sprawdził Twój kod, możesz udostępnić mi swój kod na mojej stronie na Facebooku lub na moim Twitterze.

Jak ci się podoba ten blog? Czy jest coś, co chcesz, abyśmy ulepszyli? Powiedz nam, co czujesz na naszej stronie na Facebooku i na naszym Twitterze.

Dziękuję i życzę miłego dnia.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd:PLS-00428:w tej instrukcji oczekiwana jest klauzula into

  2. java - przekazywanie tablicy w procedurze składowanej Oracle

  3. Sql:różnica między dwiema datami

  4. Czy istnieje zapytanie Oracle SQL, które agreguje wiele wierszy w jeden wiersz?

  5. Zachowaj zamówienie z klauzuli „IN”