Vrste podatkov Oracle PL / SQL: logična, številka, datum (primer)

Kazalo:

Anonim

Kaj so tipi podatkov PL / SQL?

Podatkovni tip je povezan z določeno obliko zapisa in omejitvami obsega. V programu Oracle je vsaki vrednosti ali konstanti dodeljena vrsta podatkov.

V bistvu določa, kako Oracle shranjuje, obdeluje in obdeluje podatke med shranjevanjem in obdelavo podatkov.

Glavna razlika med podatkovnimi tipi PL / SQL in SQL je, da so podatkovni tipi SQL omejeni na stolpec tabele, medtem ko se tipi podatkov PL / SQL uporabljajo v blokih PL / SQL. Več o tem kasneje v vadnici.

Sledi diagram različnih podatkovnih vrst v PL / SQL

V tej vadnici boste izvedeli-

  • ZNAK Podatkovna vrsta
  • ŠTEVILO Vrsta podatkov
  • Vrsta podatkov BOOLEAN
  • DATUM Vrsta podatkov
  • Vrsta podatkov LOB

KARAKTER Vrsta podatkov:

Ta podatkovni tip v osnovi shranjuje alfanumerične znake v obliki niza.

Dobesedne vrednosti je treba vedno vključiti v enojne narekovaje, medtem ko jih dodeljujete podatkovnemu tipu CHARACTER.

Ta tip podatkov o znakih je nadalje razvrščen na naslednji način:

  • Vrsta podatkov CHAR (fiksna velikost niza)
  • Podatkovni tip VARCHAR2 (spremenljiva velikost niza)
  • Vrsta podatkov VARCHAR
  • NCHAR (izvorna fiksna velikost niza)
  • NVARCHAR2 (izvorna spremenljiva velikost niza)
  • DOLGO in DOLGO Surovo
Vrsta podatkov Opis Sintaksa
CHAR Ta podatkovni tip shrani vrednost niza, velikost niza pa je določena v času razglasitve spremenljivke.
  • Oracle bi bil s spremenljivko prazno oblazinjen, če spremenljivka ne bi zasedla celotne velikosti, ki je bila zanjo deklarirana, zato bo Oracle dodelil pomnilnik za deklarirano velikost, tudi če spremenljivka ne zasede v celoti.
  • Omejitev velikosti za to vrsto podatkov je 1-2000 bajtov.
  • Podatkovni tip CHAR je primernejši za uporabo tam, kjer bo obdelana kdaj koli določena velikost podatkov.
grade CHAR;manager CHAR (10):= 'guru99';
Pojasnilo sintakse:
  • Prva izjava izjave je deklarirala spremenljivko 'grade' podatkovnega tipa CHAR z največjo velikostjo 1 bajt (privzeta vrednost).
  • Druga izjava deklaracije je deklarirala spremenljivko 'manager' podatkovnega tipa CHAR z največjo velikostjo 10 in ji dodelila vrednost 'guru99', ki je 6 bajtov. Oracle bo v tem primeru namenil pomnilnik 10 bajtov in ne 6 bajtov.
VARCHAR2 Ta podatkovni tip shrani niz, vendar dolžina niza ni določena.
  • Omejitev velikosti za ta podatkovni tip je 1-4000 bajtov za velikost stolpca tabele in 1-32767 bajtov za spremenljivke.
  • Velikost je določena za vsako spremenljivko v času deklaracije spremenljivke.
  • Toda Oracle bo pomnilnik dodelil šele po opredelitvi spremenljivke, tj. Oracle bo upošteval le dejansko dolžino niza, ki je shranjen v spremenljivki za dodelitev pomnilnika, in ne velikost, ki je bila podana za spremenljivko v delu deklaracije.
  • Za optimizacijo porabe pomnilnika je vedno dobro uporabiti VARCHAR2 namesto podatkovnega tipa CHAR.
manager VARCHAR2(10) := ‘guru99';
Pojasnilo sintakse:
  • Zgornja izjava deklaracije je deklarirala spremenljivko „upravitelj“ podatkovnega tipa VARCHAR2 z največjo velikostjo 10 in ji dodelila vrednost „guru99“, ki je 6 bajtov. Oracle bo v tem primeru dodelil le 6 bajtov pomnilnika.
VARCHAR To je sinonim za podatkovni tip VARCHAR2.
  • Vedno je dobra praksa, da namesto VARCHAR uporabite VARCHAR2, da se izognete vedenjskim spremembam.
manager VARCHAR(10) := ‘guru99';
Pojasnilo sintakse:
  • Zgornja izjava deklaracije je deklarirala spremenljivko 'manager' podatkovnega tipa VARCHAR z največjo velikostjo 10 in ji dodelila vrednost 'guru99', ki je 6 bajtov. Oracle bo v tem primeru dodelil le 6 bajtov pomnilnika. (Podobno kot VARCHAR2)
NCHAR Ta podatkovni tip je enak podatkovnemu tipu CHAR, vendar je nabor znakov nacionalni nabor znakov.
  • Ta nabor znakov je mogoče določiti za sejo z uporabo NLS_PARAMETERS.
  • Nabor znakov je lahko UTF16 ali UTF8.
  • Omejitev velikosti je 1-2000 bajtov.
native NCHAR(10);
Pojasnilo sintakse:
  • Zgornja izjava izjave navaja spremenljivko 'native' podatkovnega tipa NCHAR z največjo velikostjo 10.
  • Dolžina te spremenljivke je odvisna od (števila dolžin) na bajt, kot je določeno v naboru znakov.
NVARCHAR2 Ta podatkovni tip je enak podatkovnemu tipu VARCHAR2, vendar bo nabor znakov iz nacionalnega nabora znakov.
  • Ta nabor znakov je mogoče določiti za sejo z uporabo NLS_PARAMETERS.
  • Nabor znakov je lahko UTF16 ali UTF8.
  • Omejitev velikosti je 1-4000 bajtov.
Native var NVARCHAR2(10):='guru99';
Pojasnilo sintakse:
  • Zgornja izjava izjave deklarira spremenljivko 'Native_var' podatkovnega tipa NVARCHAR2 z največjo velikostjo 10.
LONG in LONGRAW Ta vrsta podatkov se uporablja za shranjevanje velikega besedila ali neobdelanih podatkov do največ 2 GB.
  • Ti se v glavnem uporabljajo v podatkovnem slovarju.
  • Podatkovni tip LONG se uporablja za shranjevanje podatkov nabora znakov, medtem ko se LONG RAW uporablja za shranjevanje podatkov v binarni obliki.
  • Podatkovni tip LONG RAW sprejema predstavnostne predmete, slike itd., Medtem ko LONG deluje samo na podatke, ki jih je mogoče shraniti z naborom znakov.
Large_text LONG;Large_raw LONG RAW;
Pojasnilo sintakse:
  • Zgornja izjava izjave deklarira spremenljivko 'Large_text' LONG podatkovnega tipa in 'Large_raw' LONG RAW podatkovnega tipa.
Opomba: Oracle ne priporoča uporabe podatkovnega tipa LONG. Namesto tega bi morali imeti prednost podatkovni tip LOB.

ŠTEVILO Vrsta podatkov:

Ta podatkovni tip shranjuje številke s fiksno ali plavajočo vejico do natančnosti do 38 števk. Ta podatkovni tip se uporablja za delo s polji, ki bodo vsebovala le podatke o številu. Spremenljivko lahko deklarirate s podrobnostmi natančnosti in decimalnih mest ali brez teh informacij. Vrednosti med dodeljevanjem za to vrsto podatkov ni treba zapirati v narekovaje.

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

Pojasnilo sintakse:

  • V zgoraj navedenem prva izjava navaja, da je spremenljivka "A" številskega podatkovnega tipa s skupno natančnostjo 8 in decimalnimi števkami 2.
  • Druga izjava navaja, da je spremenljivka "B" številskega podatkovnega tipa s skupno natančnostjo 8 in brez decimalnih števk.
  • Tretja deklaracija je najbolj splošna, izjavlja, da je spremenljivka "C" številskega podatkovnega tipa brez natančnosti ali decimalnih mest. Lahko traja do največ 38 števk.

Vrsta podatkov BOOLEAN:

Ta podatkovni tip shranjuje logične vrednosti. Predstavlja TRUE ali FALSE in se v glavnem uporablja v pogojnih stavkih. Vrednosti med dodeljevanjem za to vrsto podatkov ni treba zapirati v narekovaje.

Var1 BOOLEAN;

Pojasnilo sintakse:

  • V zgornjem je spremenljivka 'Var1' deklarirana kot podatkovni tip BOOLEAN. Izhod kode bo glede na nastavljeni pogoj resničen ali neresničen.

DATUM Vrsta podatkov:

Ta podatkovni tip hrani vrednosti v obliki datuma kot datum, mesec in leto. Kadar je spremenljivka definirana s podatkovnim tipom DATUM skupaj z datumom, lahko vsebuje podatke o času in je privzeto nastavljena na 12:00:00, če ni določena. Vrednosti je treba med dodeljevanjem za to vrsto podatkov vključiti v narekovaje.

Standardni Oraclov časovni format za vhod in izhod je 'DD-MON-YY' in je znova nastavljen na NLS_PARAMETERS (NLS_DATE_FORMAT) na ravni seje.

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

Pojasnilo sintakse:

  • V zgornjem, spremenljivke "NewYear" je deklariran kot tip DATE podatkov in dodeli vrednost Jan 1 st , 2015 datumu.
  • Druga izjava deklarira spremenljivko current_date kot podatkovni tip DATUM in ji dodeli vrednost s trenutnim sistemskim datumom.
  • Obe spremenljivki vsebujeta podatke o času.

Vrsta podatkov LOB:

Ta podatkovni tip se uporablja predvsem za shranjevanje in obdelavo velikih blokov nestrukturiranih podatkov, kot so slike, večpredstavnostne datoteke itd. Oracle raje uporablja LOB namesto podatkovnega tipa LONG, saj je bolj prilagodljiv kot LONG podatkovni tip. Spodaj je nekaj glavnih prednosti LOB pred LONG podatkovnim tipom.

  • Število stolpcev v tabeli s podatkovnim tipom LONG je omejeno na 1, medtem ko tabela nima omejitev za število stolpcev s podatkovnim tipom LOB.
  • Orodje za podatkovni vmesnik med podvajanjem podatkov sprejme tip podatkov LOB tabele, vendar izpusti LONG stolpec tabele. Te LONG stolpce je treba kopirati ročno.
  • Velikost LONG stolpca je 2 GB, medtem ko lahko LOB shrani do 128 TB.
  • Oracle v vsaki svoji izdaji nenehno izboljšuje podatkovni tip LOB v skladu s sodobno zahtevo, medtem ko je podatkovni tip LONG konstanten in ne prejema veliko posodobitev.

Torej, vedno je dobro uporabiti podatkovni tip LOB namesto podatkovnega tipa LONG. Sledijo različni tipi podatkov LOB. Shranijo lahko do velikosti 128 terabajtov.

  1. BLOB
  2. CLOB in NCLOB
  3. DATOTEK
Vrsta podatkov Opis Sintaksa
BLOB

Ta podatkovni tip shrani podatke LOB v obliki binarne datoteke do največje velikosti 128 TB. To ne shrani podatkov na podlagi podrobnosti nabora znakov, tako da lahko shrani nestrukturirane podatke, kot so večpredstavnostni predmeti, slike itd.

Binary_data BLOB;

Pojasnilo sintakse:

  • V zgornjem je spremenljivka 'Binary_data' deklarirana kot BLOB.
CLOB in NCLOB

Podatkovni tip CLOB shrani podatke LOB v nabor znakov, medtem ko NCLOB podatke shrani v izvorni nabor znakov. Ker ti podatkovni tipi uporabljajo shranjevanje na podlagi znakov, ne morejo shraniti podatkov, kot so večpredstavnost, slike itd., Ki jih ni mogoče vstaviti v niz znakov. Največja velikost teh podatkovnih vrst je 128 TB.

Charac_data CLOB;

Pojasnilo sintakse:

  • V zgornjem je spremenljivka 'Charac_data' deklarirana kot podatkovni tip CLOB.
DATOTEK
  • BFILE so tipi podatkov, ki so podatke o nestrukturiranem binarnem formatu shranili zunaj baze podatkov kot datoteko operacijskega sistema.
  • Velikost datoteke BFILE je omejen na operacijski sistem, datoteke so samo za branje in jih ni mogoče spreminjati.

Povzetek

Zajeli smo različne preproste vrste podatkov, ki so na voljo v PL / SQL, skupaj z njihovo sintakso. O zapletenih vrstah podatkov bomo spoznali v nadaljnjih temah.