Oracle
 sql >> база данни >  >> RDS >> Oracle

Метод за събиране:EXISTS Функция в базата данни на Oracle

Сега, когато научихме концепциите за функция за първа колекция, която е COUNT в предишния урок. Време е да преминем към втората функция от серията метод за събиране. Ето защо тук ви представям метода за събиране PL/SQL СЪЩЕСТВУВА. В този блог ще разгледаме метода за събиране EXISTS ( ) подробно.

Какво е методът за събиране СЪЩЕСТВУВА ( )?

Методът за колекция EXISTS ( ) проверява съществуването на елемент в конкретен индекс в колекция. Ако намери посочения елемент, тогава връща TRUE, в противен случай връща FALSE.

Можете да използвате функцията EXISTS ( ), за да проверите съществуването на конкретен ред в колекцията.

Синтаксис на метода за събиране СЪЩЕСТВУВА ( )

Синтаксисът на функцията EXISTS ( ) е –

EXISTS (index number);

Функцията EXISTS приема индекса/индекса на клетка от колекцията като вход и го търси в колекцията. Ако намери елемент, съответстващ на индексен номер, тогава връща TRUE, в противен случай връща FALSE.

Методът за събиране EXISTS връща ли NULL?

Няма функция EXISTS не връща null. Връща или вярно, или невярно.

Ами ако премахна вече съществуващ ред чрез функцията ОТРЕЖАВАНЕ или ИЗТРИВАНЕ?

Ако премахнете ред с помощта на функцията Trim или Delete, тогава методът за събиране EXISTS ( ) ще върне FALSE за индекса на този ред.

Съществува ли методът за събиране на изключение?

Не, методът за събиране EXISTS не предизвиква изключение. Всъщност това е единствената функция, която не предизвиква изключение, дори ако се използва с неинициализирана колекция.

Ако не предизвика изключение, тогава какво ще се случи, ако приложа тази функция към неинициализирана колекция?

Методът за събиране EXISTS ( ) връща false, ако е приложен или към неинициализирана колекция, или към инициализирана колекция без елементи.

Пример за метод за събиране СЪЩЕСТВУВА ( ).

Този прост пример ще ви покаже как можете да използвате тази функция във вашето приложение.

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

В горната програма проверяваме дали има някакъв елемент с индекс 1 в колекцията „my_nested_table“ или не. Ако има елемент в посочения индекс, тогава частта IF на оператора IF-ELSE ще се изпълни, в противен случай частта ELSE ще влезе в действие.

Какво ще направите...?

Да предположим, че искате да вмъкнете данни в конкретен индекс, но не сте сигурни дали този индекс вече съдържа някои данни или не. В случай, че държи някое, не искате да го презаписвате. Какво ще направите в този случай?

За да знаете как можете да използвате метода за събиране EXISTS, за да намерите решението на този проблем, продължете и гледайте урока за PL/SQL в моя канал в YouTube.

Това е много проста демонстрация. Сигурен съм, че можете да измислите някои по-луди примери. И така, какво чакате, продължете и напишете своя код и вижте по какви други възможни начини можете да използвате този метод.

Ако искате да прегледам кода ви, тогава можете да споделите кода си с мен на страницата ми във Facebook или в моя Twitter.

Как ви харесва този блог? Има ли нещо, което искате да подобрим? Кажете ни какво чувствате на нашата страница във Facebook и в нашия Twitter.

Благодаря и приятен ден.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хибернация на собствената заявка - колона char(3).

  2. как да експортирате данни от таблицата с регистрационни файлове в тялото на имейла в oracle

  3. Oracle SQL:времеви печати в клаузата where

  4. Създайте критерии за хибернация, за да се присъедините към една и съща таблица два пъти - опитах 2 подхода с 2 грешка в разликата

  5. Зареждане на данни от текстов файл в таблица в oracle