Oracle Datové typy PL/SQL: Boolean, číslo, datum [příklad]
Co jsou datové typy PL/SQL?
Typy dat v PL/SQL se používají k definování toho, jak budou data uložena, zpracována a zpracována Oracle během ukládání a zpracování dat. Datové typy jsou spojeny s konkrétním formátem úložiště a omezeními rozsahu. v Oracle, každé hodnotě nebo konstantě je přiřazen datový typ.
Hlavní rozdíl mezi PL/SQL a SQL datové typy jsou, datový typ SQL je omezen na sloupec tabulky, zatímco datové typy PL/SQL se používají v PL/SQL bloky. Více o tom později v tutoriálu.
Následuje schéma různých Oracle PL/SQL datové typy:
PL/SQL CHARAKTER Typ dat
Tento datový typ v zásadě ukládá alfanumerické znaky ve formátu řetězce.
Doslovné hodnoty by měly být při přiřazování k datovému typu CHARACTER vždy uzavřeny v jednoduchých uvozovkách.
Tento datový typ znaku je dále klasifikován takto:
- CHAR Typ dat (pevná velikost řetězce)
- VARCHAR2 Typ dat (proměnná velikost řetězce)
- VARCHAR Typ dat
- NCHAR (nativní pevná velikost řetězce)
- NVARCHAR2 (velikost řetězce nativní proměnné)
- DLOUHÉ a DLOUHÉ RAW
Datový typ | Description | Syntax |
---|---|---|
CHAR | Tento datový typ ukládá hodnotu řetězce a velikost řetězce je pevná v době deklarace proměnlivý.
|
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 | To je synonymem 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 mít národní znakovou sadu.
|
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 typ dat se používá k ukládání velkého textu nebo nezpracovaných dat až do maximální velikosti 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Vysvětlení syntaxe:
Poznámka: Použití datového typu LONG se nedoporučuje Oracle. Místo toho by měl být preferován datový typ LOB. |
PL/SQL ČÍSLO Typ dat
Tento datový typ ukládá čísla s pevnou nebo pohyblivou řádovou čá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ěnná může být deklarována buď s přesností a desetinnými číslicemi, nebo bez této informace. Při přiřazování pro tento datový typ se hodnoty nemusí uzavírat do uvozovek.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Vysvětlení syntaxe:
- Ve výše uvedeném prvním prohlášení deklaruje, že proměnná „A“ je datového typu číslo s celkovou přesností 8 a desetinnými číslicemi 2.
- Druhá deklarace deklaruje, že proměnná 'B' je číselného datového typu s celkovou přesností 8 a bez desetinných číslic.
- Třetí deklarace je nejobecnější, deklaruje, že proměnná 'C' je číselného datového typu bez omezení přesnosti nebo desetinných míst. Může mít maximálně 38 číslic.
Typ dat PL/SQL BOOLEAN
Tento datový typ ukládá logické hodnoty. Oracle Booleovský datový typ 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 se hodnoty nemusí uzavírat do uvozovek.
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ď true nebo false na základě nastavené podmínky.
PL/SQL DATE Typ dat
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 časové informace a ve výchozím nastavení je časová informace nastavena na 12:00:00, pokud není specifikována. Hodnoty musí být při přiřazování pro tento datový typ uzavřeny do uvozovek.
Standardní Oracle časový formát pro vstup a výstup je 'DD-MON-YY' a je opět nastaven na NLS_PARAMETERS (NLS_DATE_FORMAT) na úrovni relace.
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. lednast, datum 2015.
- Druhá deklarace deklaruje proměnnou aktuální_datum jako datový typ DATE a přiřadí hodnotu aktuálnímu systémovému datu.
- Obě tyto proměnné obsahují časovou informaci.
Datový typ PL/SQL LOB
Tento typ dat 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. Oracle preferuje 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 datovému typu LONG.
- Počet sloupců v tabulce s datovým typem LONG je omezen na 1, zatímco tabulka nemá žádné omezení na počet sloupců s datovým typem LOB.
- Nástroj datového rozhraní přijímá datový typ tabulky LOB během replikace dat, ale vynechává sloupec LONG tabulky. Tyto LONG 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 zlepšuje datový typ LOB v každém ze svých vydání podle moderních požadavků, zatímco datový typ LONG je konstantní a nedostává mnoho aktualizací.
Vždy je tedy dobré místo datového typu LONG použít datový typ LOB. Následují různé typy dat LOB. Mohou uložit až velikost 128 terabajtů.
- KAPKA
- CLOB a NCLOB
- BFILE
Datový typ | Description | Syntax |
---|---|---|
KAPKA | Tento datový typ ukládá data LOB v binárním formátu souboru až do maximální velikosti 128 TB. To neukládá data na základě podrobností o znakové sadě, 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 znakového řetězce. Maximální velikost těchto datových typů je 128 TB. |
Charac_data CLOB; Vysvětlení syntaxe:
|
BFILE |
|
Shrnutí
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 seznámíme v dalších tématech.