Oracle PL/SQL tipovi podataka: Booleov, broj, datum [primjer]
⚡ Pametni sažetak
PL/SQL tipovi podataka definiraju kako Oracle pohranjuje, obrađuje i ograničava svaku vrijednost u bloku. Grupiraju se u obitelji znakova, brojeva, logičkih vrijednosti, datuma i velikih objekata (LOB), svaka sa svojim formatom pohrane, ograničenjima veličine i pravilima dodjeljivanja.

Što su PL/SQL tipovi podataka?
Vrste podataka u PL/SQL-u definirati kako će se podaci pohranjivati, obrađivati i tretirati Oracle tijekom pohrane i obrade. Tipovi podataka povezani su sa specifičnim formatom pohrane i ograničenjima raspona. U Oracle, svakoj vrijednosti ili konstanti dodjeljuje se tip podataka.
Glavna razlika između PL/SQL i SQL tipovi podataka je taj što su SQL tipovi podataka ograničeni na stupce tablice, dok se PL/SQL tipovi podataka koriste u PL/SQL blokovi. Više o tome kasnije u vodiču.
Slijedi dijagram različitih Oracle PL/SQL tipovi podataka:

PL/SQL CHARACTER tip podataka
Ovaj tip podataka pohranjuje alfanumeričke znakove u formatu niza znakova. Literalne vrijednosti uvijek trebaju biti zatvorene u jednostruke navodnike prilikom dodjeljivanja tipu podataka CHARACTER.
Ovaj karakterni tip podataka dalje je klasificiran na sljedeći način:
- Tip podataka CHAR (fiksna veličina niza)
- Tip podataka VARCHAR2 (varijabilna veličina niza)
- Vrsta podataka VARCHAR
- NCHAR (nativna fiksna veličina niza)
- NVARCHAR2 (prirodna varijabla veličine niza)
- DUGO i DUGO SIROVO
| Tip podataka | Description | Sintaksa |
|---|---|---|
| TENK | Ovaj tip podataka pohranjuje vrijednost niza, a veličina niza je fiksna u trenutku deklaracije. varijabla.
|
grade CHAR; manager CHAR (10):= 'guru99'; Objašnjenje sintakse:
|
| VARCHAR2 | Ovaj tip podataka pohranjuje niz znakova, ali duljina nije fiksna.
|
manager VARCHAR2(10) := 'guru99'; Objašnjenje sintakse:
|
| VARCHAR | Ovo je sinonim za tip podataka VARCHAR2.
|
manager VARCHAR(10) := 'guru99'; Objašnjenje sintakse:
|
| NCHAR | Ovaj tip podataka je isti kao CHAR, ali skup znakova je nacionalni skup znakova.
|
native NCHAR(10);
Objašnjenje sintakse:
|
| NVARCHAR2 | Ovaj tip podataka je isti kao VARCHAR2, ali skup znakova je nacionalni skup znakova.
|
Native_var NVARCHAR2(10):= 'guru99'; Objašnjenje sintakse:
|
| DUGO i DUGO SIROVO | Ova vrsta podataka pohranjuje veliki tekst ili sirove podatke do maksimalne veličine od 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Objašnjenje sintakse:
Bilješka: Korištenje tipa podataka LONG nije preporučeno od strane OracleUmjesto toga, treba dati prednost tipu podataka LOB. |
PL/SQL BROJ Tip podataka
Ovaj tip podataka pohranjuje fiksne ili pomične brojeve s preciznošću do 38 znamenki. Koristi se za rad s poljima koja sadrže samo brojčane podatke. Varijabla se može deklarirati s preciznošću i decimalnim znamenkama ili bez njih. Vrijednosti ne moraju biti zatvorene u navodnike prilikom dodjeljivanja.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Objašnjenje sintakse:
- Prva deklaracija deklarira varijablu 'A' brojevnog tipa s ukupnom preciznošću 8 i 2 decimalne znamenke.
- Drugi deklarira 'B' brojevnog tipa s ukupnom preciznošću 8 i bez decimalnih znamenki.
- Treći je najgeneričkiji, deklarira 'C' brojevnog tipa podataka bez ograničenja preciznosti ili decimala. Može primiti do 38 znamenki.
PL/SQL BOOLEAN tip podataka
Ovaj tip podataka pohranjuje logičke vrijednosti. Oracle Booleov tip podataka predstavlja TRUE ili FALSE i uglavnom se koristi u uvjetnim naredbama. Vrijednosti ne moraju biti zatvorene u navodnike prilikom dodjeljivanja.
Var1 BOOLEAN;
Objašnjenje sintakse:
- Varijabla 'Var1' je deklarirana kao BOOLEAN tip podataka. Izlaz će biti ili true ili false na temelju postavljenog uvjeta.
PL/SQL DATE tip podataka
Ovaj tip podataka pohranjuje vrijednosti u formatu datuma, kao što su datum, mjesec i godina. Kad god je varijabla definirana s tipom podataka DATE, ona može sadržavati informacije o vremenu; prema zadanim postavkama vrijeme je postavljeno na 12:00:00 ako nije navedeno. Vrijednosti prilikom dodjeljivanja moraju biti zatvorene u navodnike.
Norma Oracle Format vremena za ulaz i izlaz je 'DD-PON-GG', što je postavljeno na NLS_PARAMETERS (NLS_DATE_FORMAT) na razini sesije.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Objašnjenje sintakse:
- Varijabla 'nova godina' deklarirana je kao tip podataka DATE i dodijeljena joj je vrijednost 1. siječnja 2015.
- Druga deklaracija deklarira 'current_date' kao tip podataka DATE i dodjeljuje trenutni sistemski datum.
- Obje varijable sadrže informacije o vremenu.
PL/SQL LOB vrsta podataka
Ovaj tip podataka se uglavnom koristi za pohranu i manipuliranje velikim blokovima nestrukturiranih podataka kao što su slike i multimedijske datoteke. Oracle preferira LOB u odnosu na LONG tip podataka jer je fleksibilniji. Glavne prednosti LOB-a u odnosu na LONG su:
- Tablica je ograničena na jedan LONG stupac, dok ne postoji ograničenje na broj LOB stupaca.
- Alati za podatkovno sučelje prihvaćaju LOB tijekom replikacije, ali izostavljaju LONG stupce, koji se moraju ručno replicirati.
- LONG stupac pohranjuje do 2 GB, dok LOB može pohraniti do 128 TB.
- Oracle nastavlja poboljšavati tip podataka LOB sa svakim izdanjem, dok LONG ostaje uglavnom nepromijenjen.
Stoga je uvijek dobro koristiti tip podataka LOB umjesto LONG. Različiti tipovi podataka LOB u nastavku mogu pohraniti do 128 terabajta:
- BLOB
- CLOB i NCLOB
- BFILE
| Tip podataka | Description | Sintaksa |
|---|---|---|
| BLOB | Ova vrsta podataka pohranjuje LOB podatke u binarnom formatu datoteke do maksimalno 128 TB. Ne pohranjuje podatke na temelju detalja skupa znakova, tako da može pohranjivati nestrukturirane podatke poput multimedijskih objekata i slika. |
Binary_data BLOB;
Objašnjenje sintakse:
|
| CLOB i NCLOB | CLOB pohranjuje LOB podatke u skupu znakova, dok NCLOB pohranjuje podatke u izvornom skupu znakova. Budući da koriste pohranu temeljenu na skupu znakova, ne mogu pohranjivati podatke poput multimedije ili slika. Maksimalna veličina je 128 TB. |
Charac_data CLOB;
Objašnjenje sintakse:
|
| BFILE |
|
