Wprowadzenie do kolekcji PL / SQL
Po pierwsze, podobnie jak inne współczesne języki programowania, PL / SQL zapewnia również programistom możliwość korzystania z kolekcji PL / SQL. Ogólnie rzecz biorąc, kolekcja jest strukturą danych posiadającą uporządkowaną grupę elementów tego samego typu danych, a do tych elementów można uzyskać dostęp za pośrednictwem indeksów zgodnie ze szczegółowymi wymaganiami. Najczęściej używanymi kolekcjami w większości języków programowania są tablice, zestawy, listy i kolejki itp.
Kolekcja PL / SQL zapewnia wiele korzyści zarówno dla programisty, jak i użytkownika, podczas przechowywania i uzyskiwania dostępu do danych podobnych typów danych w aplikacji. Gdy zachodzi potrzeba przetwarzania danych jednocześnie lub obsługi dużej ilości danych, zbiory PL / SQL są bardzo przydatne. Zmniejsza to również rozmiar i szybkość przetwarzania podczas przechowywania danych i uzyskiwania dostępu do elementów. Do elementów w kolekcjach można łatwo uzyskać dostęp za pośrednictwem pętli i indeksów. W przeciwieństwie do tablic w innych językach programowania, PL / SQL obsługuje tylko kolekcje jednowymiarowe, a dane w kolekcjach są identyfikowane przez indeksy dolne (zwane również indeksem w innych językach). Dostęp do każdego elementu i przetwarzanie odbywa się za pośrednictwem tego unikalnego indeksu dolnego.
Rodzaje kolekcji PL / SQL
Kolekcje PL / SQL są 3 typów, które podano poniżej ze składnią:
Tabele zagnieżdżone
Tabela zagnieżdżona to kolekcja PL / SQL, w której rozmiar nie jest ustalony. Jest to więc jednowymiarowa tablica, z wyjątkiem tego, że rozmiar jest ustalony w tablicach i może być zarówno gęsty, jak i rzadki. Programista musi za każdym razem rozszerzać pamięć, zanim użyje jej EXTEND. Indeks dolny w tabeli zagnieżdżonej zaczyna się od liczby całkowitej „1”.
Zagnieżdżone tabele należą do trwałych kolekcji PL / SQL, co oznacza, że można je ponownie wykorzystać, tak jak przechowywane w bazie danych. Programista może również usunąć element tablicy i uczynić tabelę rzadką, co oznacza, że tabele zagnieżdżone mogą być zarówno gęste, jak i rzadkie. Tabele zagnieżdżone można zadeklarować w bloku PL / SQL lub na poziomie schematu.
Ponieważ w tabelach zagnieżdżonych nie ma limitu górnego rozmiaru, należą one do kategorii Nieograniczonych kolekcji PL / SQL.
Składnia:
TYPE typ_name IS table of element_data_type;
Table_name typ_name;
Tablice o zmiennej wielkości lub VARRAY
VARRAY to kolekcja PL / SQL, w której rozmiar kolekcji jest ustalony zgodnie z definicją w jej definicji, więc VARRAY nazywane są ograniczonymi Elementy w tablicach są wypełniane sekwencyjnie, począwszy od indeksu dolnego 1. W przeciwieństwie do tabel zagnieżdżonych, varrays zapewnia mniejszą elastyczność, ponieważ są gęste tylko. W związku z tym programista nie może usunąć żadnego elementu pomiędzy, ani cały varray zostanie usunięty, ani może zostać przycięty od końca. Dostęp do Varrays należy kolejno przechowywać i przechowywać. Można go zdefiniować w bloku PL / SQL lub na poziomie schematu. Podobnie jak tabele zagnieżdżone, varrays należy do kategorii trwałych kolekcji, dzięki czemu można je ponownie wykorzystać i przechowywać w bazie danych.
Składnia:
TYPE typ_name IS VARRAY OF element_data_type;
Tablice asocjacyjne
Jak sama nazwa wskazuje, tablice asocjacyjne są używane do przechowywania wartości w parach klucz-wartość. Używany klucz może być ciągiem lub liczbą całkowitą. Tablice asocjacyjne są również nazywane tabelą indeksu według. Ta kolekcja może być gęsta lub rzadka. W tablicach asocjacyjnych rozmiar tablicy nie jest ustalony na początku, a programista nie musi ich inicjalizować przed użyciem. Tablica asocjacyjna należy do kategorii nietrwałych kolekcji, co oznacza, że nie są one przechowywane w bazie danych i nie można ich ponownie użyć, więc są zdefiniowane w bloku PL / SQL i są używane tylko w tej konkretnej sesji. Te tablice należą do kategorii kolekcji nieograniczonych.
Składnia:
TYPE typ_name IS TABLE OF element_data_type;
Metody zbierania
PL / SQL udostępnia pewne predefiniowane metody ułatwiające pracę z kolekcjami. Niektóre z metod podano poniżej:
S.No. | Nazwa metody | Opis |
1. | LICZYĆ | Zwraca liczbę elementów obecnych w kolekcji |
2) | PIERWSZY | Zwraca najmniejszy (pierwszy) numer indeksu w kolekcji dla indeksów całkowitych |
3) | OSTATNI, UBIEGŁY, ZESZŁY | Zwraca największy (ostatni) numer indeksu w kolekcji dla indeksów całkowitych. |
4 | ISTNIEJE (n) | Służy do sprawdzania, czy dany element jest obecny w kolekcji, czy nie. Zwraca PRAWDA, jeśli n-ty element jest obecny w kolekcji, FALSE, jeśli nie. |
5 | PRZED (n) | Zwraca numer indeksu będący poprzednikiem indeksu (n) podanego przez użytkownika w kolekcji. |
6. | NASTĘPNY (n) | Zwraca numer indeksu będący następcą indeksu (n) podanego przez użytkownika w kolekcji. |
7 | TRYM | Służy do usuwania elementów z kolekcji. TRIM usuwa ostatni element z kolekcji, a TRIM (n) usuwa ostatni n element z końca kolekcji. |
8 | USUNĄĆ | Służy do usuwania wszystkich elementów z danej kolekcji. Ustawia liczbę kolekcji na 0 po usunięciu wszystkich elementów |
9 | USUŃ (m, n) | Jest stosowany w przypadku tablic asocjacyjnych i tabel indeksowanych do usunięcia wszystkich elementów w zakresie od m do n. Zwraca null, jeśli m jest większe niż n. |
10 | LIMIT | Służy do sprawdzania maksymalnego rozmiaru kolekcji. |
Wyjątki dotyczące kolekcji
Poniżej podano niektóre wyjątki, które mogą wystąpić podczas pracy z kolekcjami.
Nazwa wyjątku | Scenariusz, w którym powstaje wyjątek |
NIE ZNALEZIONO DANYCH | Wyjątek powstaje, gdy indeks dolny odnoszący się do elementu, który został usunięty i już nie istnieje. |
VALUE_ERROR | Wyjątek występuje, gdy wartość kolumn próbujących uzyskać dostęp jest nieodwracalna do typu klucza lub gdy indeks dolny jest pusty |
COLLECTION_IS_NULL | Wyjątek stanowią prace nad kolekcją automatycznie zerowaną |
SUBSCRIPT_BEYOND_CO UNT | Wyjątek powstaje, gdy indeks dolny przekracza maksymalną liczbę elementów w kolekcji. |
SUBSCRIPT_OUTSIDE_LIM IT | Wyjątek powstaje, gdy próbuje się odwoływać się przy użyciu numeru indeksu, który jest poza dopuszczalnym zakresem. |
TOO_MANY_ROWS | Wyjątek powstaje, gdy instrukcja SELECT into zwraca więcej niż 1 wiersz. |
Zalety kolekcji w języku PL / SQL
Niektóre zalety kolekcji PL / SQL podano poniżej:
- Poza tym jedną z największych zalet kolekcji jest to, że poprawia wydajność systemu poprzez buforowanie danych statycznych, do których należy regularnie uzyskiwać dostęp.
- Co najważniejsze, kolekcje są pomocne podczas pracy z dużym zestawem danych o tym samym typie danych, na którym użytkownik musi wykonać wiele operacji DML.
- Używając jednej zmiennej kolekcjonerskiej, możemy zmniejszyć liczbę zmiennych używanych do przechowywania różnych wartości, a tym samym do oszczędzania pamięci.
- Wykonywanie różnych operacji, takich jak przechowywanie i przetwarzanie danych, staje się łatwe dzięki już dostarczonym metodom gromadzenia PL / SQL.
Wniosek
Dzięki powyższemu opisowi możesz dowiedzieć się, czym jest kolekcja PL / SQL i jakie metody mogą być używane w kolekcjach PL / SQL. Przed użyciem dowolnego typu kolekcji PL / SQL w programie deweloper musi najpierw głęboko przemyśleć scenariusz, zanim wybierze jakikolwiek typ. Chociaż praca w kolekcjach PL / SQL nie jest trudna, ale mogą wystąpić pewne wyjątki w różnych punktach, o których programista musi wiedzieć i umie sobie z nimi poradzić.
Polecane artykuły
Jest to przewodnik po kolekcjach PL / SQL. Tutaj omawiamy składnię, typy, metody i wyjątki kolekcji PL / SQL wraz z zaletami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- Kursory w PL / SQL
- Instrukcja CASE w języku PL / SQL
- Pytania do wywiadu Oracle PL / SQL
- Polecenia PL / SQL