Vrste podataka Oracle PL / SQL: logički, broj, datum (primjer)

Sadržaj:

Anonim

Što su PL / SQL tipovi podataka?

Vrsta podataka povezana je s određenim formatom pohrane i ograničenjima raspona. U Oracleu se svakoj vrijednosti ili konstanti dodjeljuje vrsta podataka.

U osnovi definira način na koji Oracle pohranjuje, obrađuje i obrađuje podatke tijekom pohrane i obrade podataka.

Glavna razlika između PL / SQL i SQL tipova podataka je što su SQL tipovi podataka ograničeni na stupac tablice dok se PL / SQL tipovi podataka koriste u PL / SQL blokovima. Više o tome kasnije u vodiču.

Slijedi dijagram različitih tipova podataka u PL / SQL-u

U ovom vodiču naučit ćete-

  • KARAKTER Vrsta podataka
  • BROJ Vrsta podataka
  • BOOLEAN vrsta podataka
  • DATUM Vrsta podataka
  • Tip podataka LOB

KARAKTER Vrsta podataka:

Ovaj tip podataka u osnovi pohranjuje alfanumeričke znakove u formatu niza.

Vrijednosti doslovca uvijek bi trebale biti zatvorene u pojedinačne navodnike dok ih dodjeljujete vrsti podataka KARAKTER.

Ovaj tip podataka o znakovima dalje se klasificira na sljedeći način:

  • CHAR vrsta podataka (fiksna veličina niza)
  • VARCHAR2 Tip podataka (promjenjiva veličina niza)
  • VARCHAR Vrsta podataka
  • NCHAR (izvorna fiksna veličina niza)
  • NVARCHAR2 (veličina izvornog promjenjivog niza)
  • DUGI I DUGI SIROVI
Vrsta podataka Opis Sintaksa
CHAR Ova vrsta podataka pohranjuje vrijednost niza, a veličina niza je fiksna u trenutku deklariranja varijable.
  • Oracle bi varijablom bio prazno podložen ako varijabla ne zauzima cijelu veličinu koja je za nju deklarirana, stoga će Oracle dodijeliti memoriju za deklariranu veličinu čak i ako je varijabla ne zauzima u potpunosti.
  • Ograničenje veličine za ovu vrstu podataka iznosi 1-2000 bajtova.
  • Tip podataka CHAR prikladnije je upotrebljavati tamo gdje će se rukovati ikad fiksnom veličinom podataka.
grade CHAR;manager CHAR (10):= 'guru99';
Objašnjenje sintakse:
  • Prva izjava deklaracije deklarirala je varijablu 'stupanj' tipa podataka CHAR s maksimalnom veličinom od 1 bajta (zadana vrijednost).
  • Druga izjava deklaracije proglasila je varijablu 'upravitelj' tipa podataka CHAR s maksimalnom veličinom od 10 i dodijelila vrijednost 'guru99' koja je od 6 bajtova. Oracle će u ovom slučaju dodijeliti memoriju od 10, a ne 6 bajtova.
VARCHAR2 Ova vrsta podataka pohranjuje niz, ali duljina niza nije fiksna.
  • Ograničenje veličine za ovaj tip podataka iznosi 1-4000 bajta za veličinu stupca tablice i 1-32767 bajta za varijable.
  • Veličina je definirana za svaku varijablu u trenutku deklaracije varijable.
  • Ali Oracle će dodijeliti memoriju tek nakon definiranja varijable, tj. Oracle će uzeti u obzir samo stvarnu duljinu niza koji je pohranjen u varijablu za dodjelu memorije, a ne veličinu koja je data varijabli u dijelu deklaracije.
  • Uvijek je dobro koristiti VARCHAR2 umjesto CHAR tipa podataka za optimizaciju upotrebe memorije.
manager VARCHAR2(10) := ‘guru99';
Objašnjenje sintakse:
  • Gornja izjava deklaracije proglasila je varijablu 'upravitelj' tipa podataka VARCHAR2 s maksimalnom veličinom od 10 i dodijelila vrijednost 'guru99' koja je od 6 bajtova. Oracle će u ovom slučaju dodijeliti memoriju od samo 6 bajtova.
VARCHAR Ovo je sinonim za tip podataka VARCHAR2.
  • Uvijek je dobra praksa koristiti VARCHAR2 umjesto VARCHAR kako biste izbjegli promjene u ponašanju.
manager VARCHAR(10) := ‘guru99';
Objašnjenje sintakse:
  • Gornja izjava deklaracije proglasila je varijablu 'upravitelj' tipa podataka VARCHAR s maksimalnom veličinom od 10 i dodijelila vrijednost 'guru99' koja je od 6 bajtova. Oracle će u ovom slučaju dodijeliti memoriju od samo 6 bajtova. (Slično VARCHAR2)
NCHAR Ova vrsta podataka jednaka je vrsti podataka CHAR, ali skup znakova bit će nacionalnog skupa znakova.
  • Ovaj skup znakova može se definirati za sesiju pomoću NLS_PARAMETERS.
  • Skup znakova može biti UTF16 ili UTF8.
  • Ograničenje veličine je 1-2000 bajtova.
native NCHAR(10);
Objašnjenje sintakse:
  • Gornja izjava deklaracije deklarira varijablu 'izvorno' za NCHAR tip podataka s maksimalnom veličinom od 10.
  • Duljina ove varijable ovisi o (broju duljina) po bajtu kako je definirano u skupu znakova.
NVARCHAR2 Ova vrsta podataka jednaka je vrsti podataka VARCHAR2, ali skup znakova bit će nacionalnog skupa znakova.
  • Ovaj skup znakova može se definirati za sesiju pomoću NLS_PARAMETERS.
  • Skup znakova može biti UTF16 ili UTF8.
  • Ograničenje veličine je 1-4000 bajtova.
Native var NVARCHAR2(10):='guru99';
Objašnjenje sintakse:
  • Gornja izjava deklaracije deklarira varijablu 'Native_var' tipa podataka NVARCHAR2 s maksimalnom veličinom 10.
DUGA i DUGA Ova vrsta podataka koristi se za pohranu velikog teksta ili sirovih podataka do maksimalne veličine 2 GB.
  • Oni se uglavnom koriste u rječniku podataka.
  • LONG vrsta podataka koristi se za pohranu podataka skupa znakova, dok LONG RAW služi za pohranu podataka u binarnom formatu.
  • Tip podataka LONG RAW prihvaća medijske objekte, slike itd., Dok LONG radi samo na podacima koji se mogu pohraniti pomoću skupa znakova.
Large_text LONG;Large_raw LONG RAW;
Objašnjenje sintakse:
  • Gornja izjava deklaracije deklarira varijablu 'Large_text' LONG tipa podataka i 'Large_raw' LONG RAW tipa podataka.
Napomena: Oracle ne preporučuje upotrebu LONG tipa podataka. Umjesto toga treba preferirati tip podataka LOB.

NUMBER vrsta podataka:

Ovaj tip podataka pohranjuje brojeve s fiksnom ili pokretnom zarezom do 38 znamenki preciznosti. Ova vrsta podataka koristi se za rad s poljima koja će sadržavati samo brojčane podatke. Varijabla se može deklarirati s preciznošću i decimalnim znamenkama ili bez tih podataka. Vrijednosti ne moraju biti zatvorene u navodnike tijekom dodjeljivanja za ovu vrstu podataka.

A NUMBER(8,2);B NUMBER(8);C NUMBER;

Objašnjenje sintakse:

  • U gore navedenom, prva deklaracija deklarira da je varijabla 'A' podatkovnog tipa s ukupnom preciznošću 8 i decimalnim znamenkama 2.
  • Druga deklaracija izjavljuje da je varijabla "B" brojačkog tipa s ukupnom preciznošću 8 i bez decimalnih znamenki.
  • Treća je deklaracija najopćenitija, deklarira da je varijabla "C" brojčanog tipa podataka bez ograničenja u preciznosti ili decimalnim mjestima. Može trajati do najviše 38 znamenki.

BOOLEAN Tip podataka:

Ovaj tip podataka pohranjuje logičke vrijednosti. Predstavlja TRUE ili FALSE i uglavnom se koristi u uvjetnim iskazima. Vrijednosti ne moraju biti zatvorene u navodnike tijekom dodjeljivanja za ovu vrstu podataka.

Var1 BOOLEAN;

Objašnjenje sintakse:

  • U gore navedenom, varijabla 'Var1' deklarirana je kao BOOLEAN tip podataka. Izlaz koda bit će istinit ili netačan na temelju postavljenog uvjeta.

DATUM Vrsta podataka:

Ova vrsta podataka pohranjuje vrijednosti u formatu datuma, kao datum, mjesec i godinu. Kad god je varijabla definirana s tipom podataka DATUM zajedno s datumom, može sadržavati podatke o vremenu, a prema zadanim postavkama podaci o vremenu postavljaju se na 12:00:00 ako nisu navedeni. Vrijednosti je potrebno priložiti unutar navodnika tijekom dodjeljivanja za ovu vrstu podataka.

Standardni format vremena Oracle za ulaz i izlaz je 'DD-MON-YY' i on je ponovno postavljen na NLS_PARAMETERS (NLS_DATE_FORMAT) na razini sesije.

newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;

Objašnjenje sintakse:

  • U gore navedenom, varijable „NewYear” je deklariran kao tip datuma podataka i dodijeljena vrijednost Jan 1 st , 2015 dana.
  • Druga deklaracija deklarira varijablu current_date kao tip podataka DATUM i dodijelila joj je vrijednost s trenutnim sistemskim datumom.
  • Obje ove varijable sadrže podatke o vremenu.

Tip podataka LOB:

Ova vrsta podataka uglavnom se koristi za pohranu i manipulaciju velikim blokovima nestrukturiranih podataka poput slika, multimedijskih datoteka itd. Oracle preferira LOB umjesto LONG tipa podataka jer je fleksibilniji od LONG tipa podataka. Ispod je nekoliko glavnih prednosti LOB-a u odnosu na LONG tip podataka.

  • Broj stupaca u tablici s tipom podataka LONG ograničen je na 1, dok tablica nema ograničenja na broj stupaca s tipom podataka LOB.
  • Alat za podatkovno sučelje prihvaća tip podataka LOB tablice tijekom replikacije podataka, ali izostavlja LONG stupac tablice. Ove LONG stupce treba replicirati ručno.
  • Veličina LONG stupca je 2 GB, dok LOB može pohraniti do 128 TB.
  • Oracle neprestano poboljšava tip podataka LOB u svakom svom izdanju u skladu s modernim zahtjevima, dok je tip podataka LONG konstantan i nema puno ažuriranja.

Dakle, uvijek je dobro koristiti tip podataka LOB umjesto tipa podataka LONG. Slijede različite vrste podataka LOB. Mogu pohraniti do veličine 128 terabajta.

  1. BLOB
  2. CLOB i NCLOB
  3. DODATAK
Vrsta podataka Opis Sintaksa
BLOB

Ova vrsta podataka pohranjuje LOB podatke u binarnom formatu datoteke do maksimalne veličine 128 TB. Ovo ne pohranjuje podatke na temelju detalja skupa znakova, tako da može pohraniti nestrukturirane podatke kao što su multimedijski objekti, slike itd.

Binary_data BLOB;

Objašnjenje sintakse:

  • U gore navedenom, varijabla 'Binary_data' deklarirana je kao BLOB.
CLOB i NCLOB

CLOB tip podataka pohranjuje LOB podatke u skup znakova, dok NCLOB podatke pohranjuje u izvorni skup znakova. Budući da ove vrste podataka koriste pohranu zasnovanu na skupu znakova, one ne mogu pohraniti podatke poput multimedije, slika itd. Koji se ne mogu staviti u niz znakova. Maksimalna veličina ovih vrsta podataka je 128 TB.

Charac_data CLOB;

Objašnjenje sintakse:

  • U gore navedenom, varijabla 'Charac_data' deklarirana je kao tip podataka CLOB.
DODATAK
  • BFILE su tipovi podataka koji su pohranili podatke o nestrukturiranom binarnom formatu izvan baze podataka kao datoteku operativnog sustava.
  • Veličina datoteke BFILE ograničena je na operativni sustav, a datoteke su samo za čitanje i ne mogu se mijenjati.

Sažetak

Pokrili smo različite jednostavne tipove podataka koji su dostupni u PL / SQL zajedno sa njihovom sintaksom. O složenim vrstama podataka naučit ćemo u daljnjim temama.