Kas yra PL / SQL duomenų tipai?
Duomenų tipas yra susietas su konkrečiu saugojimo formatu ir diapazono apribojimais. „Oracle“ kiekviena reikšmė arba konstanta priskiriama duomenų tipui.
Iš esmės jis apibrėžia, kaip „Oracle“ saugo, tvarko ir tvarko duomenis duomenų saugojimo ir apdorojimo metu.
Pagrindinis skirtumas tarp PL / SQL ir SQL duomenų tipų yra tas, kad SQL duomenų tipas apsiriboja lentelės stulpeliu, o PL / SQL duomenų tipai naudojami PL / SQL blokuose. Daugiau apie tai vėliau pamokoje.
Toliau pateikiama skirtingų duomenų tipų schema PL / SQL
Šioje pamokoje sužinosite
- CHARACTER duomenų tipas
- NUMBER duomenų tipas
- BOOLEAN duomenų tipas
- DATA Duomenų tipas
- LOB duomenų tipas
CHARACTER duomenų tipas:
Šis duomenų tipas iš esmės saugo raidinius ir skaitmeninius simbolius eilutės formatu.
Pažodinės vertės visada turėtų būti pateikiamos vienose kabutėse, jas priskiriant CHARACTER duomenų tipui.
Šis simbolių duomenų tipas toliau klasifikuojamas taip:
- CHAR duomenų tipas (fiksuotas eilutės dydis)
- VARCHAR2 duomenų tipas (kintamas eilutės dydis)
- VARCHAR Duomenų tipas
- NCHAR (vietinis fiksuoto eilutės dydis)
- „NVARCHAR2“ (įprastas kintamos eilutės dydis)
- ILGAS IR ILGAS RAW
Duomenų tipas | apibūdinimas | Sintaksė |
---|---|---|
CHAR | Šis duomenų tipas saugo eilutės vertę, o eilutės dydis yra fiksuotas deklaruojant kintamąjį.
|
grade CHAR;manager CHAR (10):= 'guru99';Sintaksės paaiškinimas:
|
VARCHAR2 | Šis duomenų tipas įrašo eilutę, tačiau eilutės ilgis nėra fiksuotas.
|
manager VARCHAR2(10) := ‘guru99';Sintaksės paaiškinimas:
|
VARCHARAS | Tai yra VARCHAR2 duomenų tipo sinonimas.
|
manager VARCHAR(10) := ‘guru99';Sintaksės paaiškinimas:
|
NCHAR | Šis duomenų tipas yra toks pat kaip CHAR duomenų tipas, tačiau nacionalinių simbolių rinkinio simbolių rinkinys bus.
|
native NCHAR(10);Sintaksės paaiškinimas:
|
„NVARCHAR2“ | Šis duomenų tipas yra toks pats kaip VARCHAR2 duomenų tipas, tačiau simbolių rinkinys bus nacionalinio simbolių rinkinio.
|
Native var NVARCHAR2(10):='guru99';Sintaksės paaiškinimas:
|
ILGAI IR ILGAI | Šis duomenų tipas naudojamas saugoti didelius teksto arba neapdorotus duomenis, kurių maksimalus dydis yra 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Sintaksės paaiškinimas:
|
NUMBER duomenų tipas:
Šis duomenų tipas saugo fiksuotų arba slankiojo kablelio skaičių iki 38 skaitmenų tikslumo. Šis duomenų tipas naudojamas dirbant su laukais, kuriuose bus tik skaičių duomenys. Kintamasis gali būti deklaruojamas tikslia ir dešimtainio skaitmens informacija arba be šios informacijos. Priskiriant šį duomenų tipą, vertės neturi būti kabutėse.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Sintaksės paaiškinimas:
- Pirmiau pateiktoje deklaracijoje nurodoma, kad kintamasis „A“ yra duomenų tipo, kurio bendras tikslumas yra 8 ir 2 skaitmenys po kablelio.
- Antroje deklaracijoje skelbiama, kad kintamasis „B“ yra duomenų tipo, kurio bendras tikslumas yra 8, be dešimtainių skaitmenų.
- Trečioji deklaracija yra pati bendriausia, skelbia, kad kintamasis „C“ yra duomenų tipo, be tikslumo ar dešimtųjų tikslumo apribojimų. Tai gali sudaryti iki 38 skaitmenų.
BOOLEAN duomenų tipas:
Šis duomenų tipas saugo logines vertes. Tai reiškia TRUE arba FALSE ir daugiausia naudojama sąlyginiuose sakiniuose. Priskiriant šį duomenų tipą, vertės neturi būti kabutėse.
Var1 BOOLEAN;
Sintaksės paaiškinimas:
- Pirmiau kintamasis „Var1“ yra deklaruojamas kaip BOOLEAN duomenų tipas. Pagal nustatytą sąlygą kodo išvestis bus teisinga arba klaidinga.
DATA Duomenų tipas:
Šis duomenų tipas išsaugo reikšmes datos formatu, kaip data, mėnuo ir metai. Kai kintamasis apibrėžiamas su DATE duomenų tipu kartu su data, jame gali būti laiko informacija ir pagal numatytuosius nustatymus laiko informacija yra nustatyta 12:00:00, jei nenurodyta. Priskiriant šį duomenų tipą, vertes reikia įtraukti į kabutes.
Standartinis įvesties ir išvesties „Oracle“ laiko formatas yra „DD-MON-YY“, o sesijos lygiu jis vėl nustatytas kaip NLS_PARAMETERS (NLS_DATE_FORMAT).
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Sintaksės paaiškinimas:
- Pirmiau, kintamasis "newyear" yra deklaruojamas kaip DATA duomenų tipas ir priskirtas Jan 1 vertę g , 2015 dienos.
- Antroji deklaracija skelbia, kad kintamasis current_date yra DATE duomenų tipas ir jam priskiriama reikšmė su dabartine sistemos data.
- Abu šie kintamieji turi laiko informaciją.
LOB duomenų tipas:
Šis duomenų tipas dažniausiai naudojamas saugoti ir valdyti didelius nestruktūruotų duomenų blokus, tokius kaip vaizdai, daugialypės terpės failai ir kt. „Oracle“ teikia pirmenybę LOB vietoj LONG duomenų tipo, nes jis yra lankstesnis nei LONG duomenų tipas. Toliau pateikiami keli pagrindiniai LOB pranašumai prieš LONG duomenų tipą.
- Stulpelių skaičius lentelėje su LONG duomenų tipu yra ribojamas iki 1, o lentelėje nėra jokių apribojimų skaičiui stulpelių su LOB duomenų tipu.
- Duomenų sąsajos įrankis priima lentelės LOB duomenų tipą duomenų replikavimo metu, tačiau praleidžia ilgą lentelės stulpelį. Šiuos LONG stulpelius reikia pakartoti rankiniu būdu.
- LONG stulpelio dydis yra 2 GB, o LOB gali talpinti iki 128 TB.
- „Oracle“ nuolat tobulina LOB duomenų tipą kiekviename leidime pagal šiuolaikinius reikalavimus, o LONG duomenų tipas yra pastovus ir negauna daug atnaujinimų.
Taigi, visada gerai naudoti LOB duomenų tipą, o ne LONG duomenų tipą. Toliau pateikiami skirtingi LOB duomenų tipai. Jie gali saugoti iki 128 terabaitų dydžio.
- BLOB
- CLOB ir NCLOB
- BFILĖ
Duomenų tipas | apibūdinimas | Sintaksė |
---|---|---|
BLOB |
Šis duomenų tipas saugo LOB duomenis dvejetainio failo formatu iki didžiausio 128 TB dydžio. Tai nesaugo duomenų, pagrįstų išsamiomis simbolių rinkinio detalėmis, kad būtų galima išsaugoti nestruktūrizuotus duomenis, tokius kaip daugialypės terpės objektai, vaizdai ir kt. |
Binary_data BLOB; Sintaksės paaiškinimas:
|
CLOB ir NCLOB |
CLOB duomenų tipas LOB duomenis saugo simbolių rinkinyje, o NCLOB duomenis - savųjų simbolių rinkinyje. Kadangi šie duomenų tipai naudoja simbolių rinkinį pagrįstą saugyklą, jie negali laikyti tokių duomenų kaip daugialypės terpės, vaizdų ir pan., Kurių negalima įdėti į simbolių eilutę. Maksimalus šių duomenų tipų dydis yra 128 TB. |
Charac_data CLOB; Sintaksės paaiškinimas:
|
BFILĖ |
|
Santrauka
Apžvelgėme įvairius paprastus duomenų tipus, kurie yra prieinami PL / SQL, kartu su jų sintakse. Sužinosime apie sudėtingus duomenų tipus kitose temose.