Co to są typy danych PL / SQL?
Typ danych jest powiązany z określonym formatem przechowywania i ograniczeniami zakresu. W Oracle każdej wartości lub stałej przypisany jest typ danych.
Zasadniczo określa, w jaki sposób dane są przechowywane, obsługiwane i przetwarzane przez Oracle podczas przechowywania i przetwarzania danych.
Główna różnica między typami danych PL / SQL i SQL polega na tym, że typy danych SQL są ograniczone do kolumny tabeli, podczas gdy typy danych PL / SQL są używane w blokach PL / SQL. Więcej na ten temat w dalszej części samouczka.
Poniżej znajduje się diagram różnych typów danych w PL / SQL
W tym samouczku nauczysz się:
- CHARACTER Typ danych
- NUMBER Typ danych
- BOOLEAN Typ danych
- DATA Typ danych
- Typ danych LOB
CHARACTER Typ danych:
Ten typ danych zasadniczo przechowuje znaki alfanumeryczne w formacie ciągów.
Podczas przypisywania ich do typu danych CHARACTER wartości literałów powinny być zawsze ujęte w pojedyncze cudzysłowy.
Ten typ danych znakowych jest dalej klasyfikowany w następujący sposób:
- CHAR Typ danych (stały rozmiar ciągu)
- VARCHAR2 Typ danych (zmienny rozmiar ciągu)
- VARCHAR Typ danych
- NCHAR (natywny stały rozmiar ciągu)
- NVARCHAR2 (natywny rozmiar łańcucha zmiennej)
- LONG i LONG RAW
Typ danych | Opis | Składnia |
---|---|---|
ZWĘGLAĆ | Ten typ danych przechowuje wartość ciągu, a rozmiar ciągu jest ustalany w momencie deklarowania zmiennej.
|
grade CHAR;manager CHAR (10):= 'guru99';Objaśnienie składni:
|
VARCHAR2 | Ten typ danych przechowuje ciąg, ale długość łańcucha nie jest ustalona.
|
manager VARCHAR2(10) := ‘guru99';Objaśnienie składni:
|
VARCHAR | Jest to równoznaczne z typem danych VARCHAR2.
|
manager VARCHAR(10) := ‘guru99';Objaśnienie składni:
|
NCHAR | Ten typ danych jest taki sam jak typ danych CHAR, ale zestaw znaków będzie odpowiadał zestawowi znaków narodowych.
|
native NCHAR(10);Objaśnienie składni:
|
NVARCHAR2 | Ten typ danych jest taki sam jak typ danych VARCHAR2, ale zestaw znaków będzie należał do zestawu znaków narodowych.
|
Native var NVARCHAR2(10):='guru99';Objaśnienie składni:
|
LONG i LONGRAW | Ten typ danych służy do przechowywania dużego tekstu lub nieprzetworzonych danych do maksymalnego rozmiaru 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Objaśnienie składni:
|
NUMBER Typ danych:
Ten typ danych przechowuje liczby stałe lub zmiennoprzecinkowe z dokładnością do 38 cyfr. Ten typ danych jest używany do pracy z polami, które będą zawierać tylko dane liczbowe. Zmienną można zadeklarować z dokładnością i szczegółami cyfr dziesiętnych lub bez tych informacji. Podczas przypisywania do tego typu danych wartości nie muszą być umieszczane w cudzysłowach.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Objaśnienie składni:
- W powyższym, pierwsza deklaracja deklaruje, że zmienna „A” ma typ danych liczbowych z całkowitą precyzją 8 i cyframi dziesiętnymi 2.
- Druga deklaracja deklaruje, że zmienna „B” ma typ danych liczbowych z całkowitą dokładnością do 8 i bez cyfr dziesiętnych.
- Trzecia deklaracja jest najbardziej ogólna, deklaruje, że zmienna „C” ma typ danych liczbowych bez ograniczeń co do dokładności ani miejsc dziesiętnych. Może zająć maksymalnie 38 cyfr.
Typ danych BOOLEAN:
Ten typ danych przechowuje wartości logiczne. Reprezentuje PRAWDA lub FAŁSZ i jest używany głównie w instrukcjach warunkowych. Podczas przypisywania do tego typu danych wartości nie muszą być umieszczane w cudzysłowach.
Var1 BOOLEAN;
Objaśnienie składni:
- W powyższym przypadku zmienna „Var1” jest zadeklarowana jako typ danych BOOLEAN. Dane wyjściowe kodu będą miały wartość prawda lub fałsz w oparciu o ustawiony warunek.
DATA Typ danych:
Ten typ danych przechowuje wartości w formacie daty, w postaci daty, miesiąca i roku. Ilekroć zmienna jest zdefiniowana z typem danych DATA wraz z datą, może ona zawierać informacje o czasie, a domyślnie informacja o czasie jest ustawiona na 12:00:00, jeśli nie jest określona. Podczas przypisywania do tego typu danych wartości należy ująć w cudzysłowy.
Standardowy format czasu Oracle dla danych wejściowych i wyjściowych to „DD-MON-YY” i jest ponownie ustawiany na NLS_PARAMETERS (NLS_DATE_FORMAT) na poziomie sesji.
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Objaśnienie składni:
- W powyższym przykładzie, zmienna „newyear” jest zadeklarowany jako typ danych Data i przypisana wartość Jana 1 st , 2015 dacie.
- Druga deklaracja deklaruje zmienną current_date jako typ danych DATE i przypisuje wartość z bieżącą datą systemową.
- Obie te zmienne zawierają informacje o czasie.
Typ danych LOB:
Ten typ danych jest używany głównie do przechowywania i manipulowania dużymi blokami nieustrukturyzowanych danych, takich jak obrazy, pliki multimedialne itp. Oracle preferuje LOB zamiast typu LONG, ponieważ jest bardziej elastyczny niż typ danych LONG. Poniżej przedstawiono kilka głównych zalet LOB w porównaniu z typem danych LONG.
- Liczba kolumn w tabeli o typie danych LONG jest ograniczona do 1, podczas gdy tabela nie ma ograniczeń co do liczby kolumn o typie danych LOB.
- Narzędzie interfejsu danych akceptuje typ danych LOB tabeli podczas replikacji danych, ale pomija kolumnę LONG tabeli. Te LONG kolumny należy replikować ręcznie.
- Rozmiar kolumny LONG to 2 GB, podczas gdy LOB może przechowywać do 128 TB.
- Oracle stale ulepsza typ danych LOB w każdym wydaniu zgodnie ze współczesnymi wymaganiami, podczas gdy typ danych LONG jest stały i nie otrzymuje wielu aktualizacji.
Dlatego zawsze dobrze jest używać typu danych LOB zamiast typu danych LONG. Poniżej przedstawiono różne typy danych LOB. Mogą przechowywać do 128 terabajtów.
- KROPELKA
- CLOB i NCLOB
- BFILE
Typ danych | Opis | Składnia |
---|---|---|
KROPELKA |
Ten typ danych przechowuje dane LOB w formacie pliku binarnego do maksymalnego rozmiaru 128 TB. Nie przechowuje danych w oparciu o szczegóły zestawu znaków, więc może przechowywać nieustrukturyzowane dane, takie jak obiekty multimedialne, obrazy itp. |
Binary_data BLOB; Objaśnienie składni:
|
CLOB i NCLOB |
Typ danych CLOB przechowuje dane LOB w zestawie znaków, podczas gdy NCLOB przechowuje dane w rodzimym zestawie znaków. Ponieważ te typy danych używają pamięci opartej na zestawie znaków, nie mogą one przechowywać danych, takich jak multimedia, obrazy itp., Których nie można umieścić w ciągu znaków. Maksymalny rozmiar tych typów danych to 128 TB. |
Charac_data CLOB; Objaśnienie składni:
|
BFILE |
|
Podsumowanie
Omówiliśmy różne proste typy danych, które są dostępne w PL / SQL, wraz z ich składnią. Dowiemy się o złożonych typach danych w dalszych tematach.