Co jsou datové typy PL / SQL?
Datový typ je spojen s konkrétním omezením formátu úložiště a rozsahu. V Oracle je každé hodnotě nebo konstantě přiřazen datový typ.
V zásadě definuje, jak jsou data během ukládání a zpracování dat ukládána, zpracovávána a zacházena společností Oracle.
Hlavní rozdíl mezi datovými typy PL / SQL a SQL je, datový typ SQL je omezen na sloupec tabulky, zatímco datové typy PL / SQL se používají v blocích PL / SQL. Více o tom dále v tutoriálu.
Následuje diagram různých datových typů v PL / SQL
V tomto výukovém programu se naučíte
- CHARACTER datový typ
- ČÍSLO datového typu
- BOOLEAN datový typ
- DATUM datový typ
- Datový typ LOB
CHARACTER datový typ:
Tento datový typ v zásadě ukládá alfanumerické znaky ve formátu řetězce.
Doslovné hodnoty by měly být vždy přiřazeny do jednoduchých uvozovek, zatímco je přiřazujete datovému typu CHARACTER.
Tento znakový datový typ je dále klasifikován takto:
- CHAR Datový typ (pevná velikost řetězce)
- VARCHAR2 Datový typ (proměnná velikost řetězce)
- VARCHAR Datový typ
- NCHAR (nativní pevná velikost řetězce)
- NVARCHAR2 (velikost nativní proměnné řetězce)
- DLOUHÉ a DLOUHÉ SUROVÉ
Datový typ | Popis | Syntax |
---|---|---|
CHAR | Tento datový typ ukládá hodnotu řetězce a velikost řetězce je pevná v době deklarování proměnné.
|
grade CHAR;manager CHAR (10):= 'guru99';Vysvětlení syntaxe:
|
VARCHAR2 | Tento datový typ ukládá řetězec, ale délka řetězce není pevná.
|
manager VARCHAR2(10) := ‘guru99';Vysvětlení syntaxe:
|
VARCHAR | Toto je synonymum pro datový typ VARCHAR2.
|
manager VARCHAR(10) := ‘guru99';Vysvětlení syntaxe:
|
NCHAR | Tento datový typ je stejný jako datový typ CHAR, ale znaková sada bude národní znakové sady.
|
native NCHAR(10);Vysvětlení syntaxe:
|
NVARCHAR2 | Tento datový typ je stejný jako datový typ VARCHAR2, ale znaková sada bude národní znakové sady.
|
Native var NVARCHAR2(10):='guru99';Vysvětlení syntaxe:
|
DLOUHÉ a DLOUHÉ | Tento datový typ se používá k ukládání velkých textových nebo nezpracovaných dat až do maximální velikosti 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Vysvětlení syntaxe:
|
ČÍSLO datový typ:
Tento datový typ ukládá čísla s pevnou nebo plovoucí desetinnou čárkou s přesností až 38 číslic. Tento datový typ se používá pro práci s poli, která budou obsahovat pouze číselná data. Proměnnou lze deklarovat buď s přesností a desítkovými číslicemi, nebo bez této informace. Při přiřazování pro tento datový typ nemusí být hodnoty uvozeny v uvozovkách.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Vysvětlení syntaxe:
- Ve výše uvedeném první deklarace deklaruje proměnná 'A' číselného datového typu s celkovou přesností 8 a desetinnými číslicemi 2.
- Druhá deklarace deklaruje, že proměnná „B“ má číselný datový typ s celkovou přesností 8 a bez desetinných číslic.
- Třetí deklarace je nejobecnější, deklaruje proměnnou „C“ číselného datového typu bez omezení přesnosti nebo desetinných míst. Může trvat až 38 číslic.
BOOLEAN datový typ:
Tento datový typ ukládá logické hodnoty. Představuje buď TRUE, nebo FALSE a používá se hlavně v podmíněných příkazech. Při přiřazování pro tento datový typ nemusí být hodnoty uvozeny v uvozovkách.
Var1 BOOLEAN;
Vysvětlení syntaxe:
- Ve výše uvedeném je proměnná 'Var1' deklarována jako datový typ BOOLEAN. Výstup kódu bude buď pravdivý, nebo nepravdivý na základě nastavené podmínky.
DATUM datový typ:
Tento datový typ ukládá hodnoty ve formátu data, jako datum, měsíc a rok. Kdykoli je proměnná definována s datovým typem DATE spolu s datem, může obsahovat informace o čase a ve výchozím nastavení je informace o čase nastavena na 12:00:00, pokud není zadána. Při přiřazování pro tento datový typ je třeba uvést uvozovky v uvozovkách.
Standardní formát času Oracle pro vstup a výstup je „DD-MON-YY“ a na úrovni relace je opět nastaven na NLS_PARAMETERS (NLS_DATE_FORMAT).
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Vysvětlení syntaxe:
- Ve výše uvedeném je proměnná 'newyear' deklarována jako datový typ DATE a je jí přiřazena hodnota 1. ledna 2015.
- Druhá deklarace deklaruje proměnnou current_date jako datový typ DATE a přiřadila hodnotu aktuálnímu systémovému datu.
- Obě tyto proměnné obsahují informace o čase.
Typ dat LOB:
Tento datový typ se používá hlavně k ukládání a manipulaci s velkými bloky nestrukturovaných dat, jako jsou obrázky, multimediální soubory atd. Společnost Oracle upřednostňuje LOB místo datového typu LONG, protože je flexibilnější než datový typ LONG. Níže je uvedeno několik hlavních výhod LOB oproti LONG datovému typu.
- Počet sloupců v tabulce s datovým typem LONG je omezen na 1, zatímco tabulka nemá žádné omezení počtu sloupců s datovým typem LOB.
- Nástroj datového rozhraní přijímá během replikace dat LOB datový typ tabulky, ale vynechá LONG sloupec tabulky. Tyto DLOUHÉ sloupce je třeba replikovat ručně.
- Velikost sloupce LONG je 2 GB, zatímco LOB může uložit až 128 TB.
- Oracle neustále zdokonaluje datový typ LOB v každém svém vydání podle moderních požadavků, zatímco datový typ LONG je konstantní a nedostává mnoho aktualizací.
Takže je vždy dobré použít datový typ LOB místo datového typu LONG. Následují různé typy dat LOB. Mohou ukládat až do velikosti 128 terabajtů.
- KAPKA
- CLOB a NCLOB
- BFILE
Datový typ | Popis | Syntax |
---|---|---|
KAPKA |
Tento datový typ ukládá data LOB v binárním formátu až do maximální velikosti 128 TB. Toto neukládá data na základě podrobností znakové sady, takže může ukládat nestrukturovaná data, jako jsou multimediální objekty, obrázky atd. |
Binary_data BLOB; Vysvětlení syntaxe:
|
CLOB a NCLOB |
Datový typ CLOB ukládá data LOB do znakové sady, zatímco NCLOB ukládá data do nativní znakové sady. Protože tyto datové typy používají úložiště založené na znakových sadách, nemohou ukládat data, jako jsou multimédia, obrázky atd., Která nelze vložit do řetězce znaků. Maximální velikost těchto datových typů je 128 TB. |
Charac_data CLOB; Vysvětlení syntaxe:
|
BFILE |
|
souhrn
Pokryli jsme různé jednoduché datové typy, které jsou k dispozici v PL / SQL, spolu s jejich syntaxí. O komplexních datových typech se dozvíme v dalších tématech.