Oracle PL / SQL datu tipi: Būla skaitlis, skaitlis, datums (piemērs)

Satura rādītājs:

Anonim

Kas ir PL / SQL datu tipi?

Datu tips ir saistīts ar konkrēto krātuves formātu un diapazona ierobežojumiem. Oracle katrai vērtībai vai konstantei tiek piešķirts datu tips.

Būtībā tas nosaka, kā Oracle glabā, apstrādā un apstrādā datus datu glabāšanas un apstrādes laikā.

Galvenā atšķirība starp PL / SQL un SQL datu tipiem ir tāda, ka SQL datu tips ir ierobežots ar tabulas kolonnu, savukārt PL / SQL datu tipi tiek izmantoti PL / SQL blokos. Vairāk par to vēlāk apmācībā.

Tālāk sniegta dažādu datu tipu diagramma PL / SQL

Šajā apmācībā jūs uzzināsiet

  • CHARACTER datu tips
  • NUMBER datu tips
  • BOOLEAN datu tips
  • DATE Datu tips
  • LOB datu tips

CHARACTER datu tips:

Šis datu tips pamatā glabā burtciparu rakstzīmes virknes formātā.

Burtiskās vērtības vienmēr jāpievieno atsevišķās pēdiņās, vienlaikus piešķirot tās CHARACTER datu tipam.

Šis rakstzīmju datu tips tiek turpmāk klasificēts šādi:

  • CHAR datu tips (fiksēts virknes lielums)
  • VARCHAR2 datu tips (mainīgs virknes lielums)
  • VARCHAR Datu tips
  • NCHAR (dzimtā fiksētā virknes izmērs)
  • NVARCHAR2 (vietējā mainīgā virknes izmērs)
  • GARS UN GARI RAW
Datu tips Apraksts Sintakse
CHAR Šis datu tips saglabā virknes vērtību, un virknes lielums tiek fiksēts mainīgā deklarēšanas brīdī.
  • Oracle mainīgais būtu tukšs, ja mainīgais neaizņemtu visu tam deklarēto izmēru, tāpēc Oracle piešķirs atmiņu deklarētajam izmēram, pat ja mainīgais to neaizņems pilnībā.
  • Šī datu veida lieluma ierobežojums ir 1-2000 baiti.
  • CHAR datu tips ir piemērotāks lietošanai, ja kādreiz ir fiksēts datu lielums.
grade CHAR;manager CHAR (10):= 'guru99';
Sintakses skaidrojums:
  • Pirmajā deklarācijas paziņojumā deklarēts CHAR datu veida mainīgais lielums “pakāpe” ar maksimālo lielumu 1 baits (noklusējuma vērtība).
  • Otrajā deklarācijas paziņojumā deklarēts CHAR datu tipa mainīgais lielums “manager” ar maksimālo lielumu 10 un piešķirta vērtība “guru99”, kas ir 6 baiti. Šajā gadījumā Oracle piešķirs atmiņā 10 baitus, nevis 6 baitus.
VARCHAR2 Šis datu tips saglabā virkni, taču virknes garums nav noteikts.
  • Lieluma ierobežojums šim datu tipam ir 1-4000 baiti tabulas kolonnas izmēram un 1-32767 baiti mainīgajiem.
  • Katram mainīgajam lielums tiek noteikts mainīgā deklarēšanas brīdī.
  • Bet Oracle piešķirs atmiņu tikai pēc mainīgā definēšanas, ti, Oracle atmiņas piešķiršanai ņems vērā tikai mainīgajā glabātās virknes faktisko garumu, nevis deklarācijas daļā mainīgajam norādīto lielumu.
  • Atmiņas izmantošanas optimizēšanai vienmēr ir labi izmantot VARCHAR2, nevis CHAR datu tipu.
manager VARCHAR2(10) := ‘guru99';
Sintakses skaidrojums:
  • Iepriekš minētajā deklarācijas paziņojumā VARCHAR2 datu tipa mainīgais lielums “manager” tika deklarēts ar maksimālo lielumu 10 un piešķirta vērtība “guru99”, kas ir 6 baiti. Šajā gadījumā Oracle piešķirs tikai 6 baitu atmiņu.
VARCHAR Tas ir sinonīms VARCHAR2 datu tipam.
  • Lai izvairītos no uzvedības izmaiņām, vienmēr ir laba prakse izmantot VARCHAR2, nevis VARCHAR.
manager VARCHAR(10) := ‘guru99';
Sintakses skaidrojums:
  • Iepriekš minētajā deklarācijas paziņojumā VARCHAR datu tipa mainīgais lielums “manager” tika deklarēts ar maksimālo lielumu 10 un piešķirts lielums “guru99”, kas ir 6 baiti. Šajā gadījumā Oracle piešķirs tikai 6 baitu atmiņu. (Līdzīgs VARCHAR2)
NCHAR Šis datu tips ir tāds pats kā CHAR datu tips, bet valsts rakstzīmju kopas rakstzīmju kopa būs.
  • Šo rakstzīmju kopu sesijai var definēt, izmantojot NLS_PARAMETERS.
  • Rakstzīmju kopa var būt vai nu UTF16, vai UTF8.
  • Lieluma ierobežojums ir 1-2000 baiti.
native NCHAR(10);
Sintakses skaidrojums:
  • Iepriekš minētais deklarācijas paziņojums norāda NCHAR datu veida mainīgo “native” ar maksimālo lielumu 10.
  • Šī mainīgā lieluma garums ir atkarīgs no (garumu skaita) uz baitu, kā noteikts rakstzīmju kopā.
NVARCHAR2 Šis datu tips ir tāds pats kā VARCHAR2 datu tips, bet rakstzīmju kopa būs valsts rakstzīmju kopa.
  • Šo rakstzīmju kopu sesijai var definēt, izmantojot NLS_PARAMETERS.
  • Rakstzīmju kopa var būt vai nu UTF16, vai UTF8.
  • Lieluma ierobežojums ir 1-4000 baiti.
Native var NVARCHAR2(10):='guru99';
Sintakses skaidrojums:
  • Iepriekš minētais deklarācijas paziņojums deklarē NVARCHAR2 datu veida mainīgo “Native_var” ar maksimālo lielumu 10.
GARI UN ILGI Šis datu tips tiek izmantots liela teksta vai neapstrādātu datu glabāšanai līdz maksimālajam 2 GB lielumam.
  • Tos galvenokārt izmanto datu vārdnīcā.
  • Datu tips LONG tiek izmantots rakstzīmju kopas datu glabāšanai, savukārt LONG RAW tiek izmantots datu glabāšanai binārā formātā.
  • LONG RAW datu tips pieņem multivides objektus, attēlus utt., Savukārt LONG darbojas tikai ar datiem, kurus var saglabāt, izmantojot rakstzīmju kopu.
Large_text LONG;Large_raw LONG RAW;
Sintakses skaidrojums:
  • Šis deklarācijas paziņojums deklarē mainīgo “Large_text” LONG datu tipā un “Large_raw” LONG RAW datu tipā.
Piezīme. Oracle neiesaka izmantot LONG datu tipu. Tā vietā priekšroka jādod LOB datu tipam.

NUMBER datu tips:

Šis datu tips saglabā fiksētu vai peldošu punktu numurus līdz 38 ciparu precizitātei. Šis datu tips tiek izmantots darbam ar laukiem, kuros būs tikai skaitļu dati. Mainīgo var deklarēt vai nu ar precīzu un decimālu ciparu informāciju, vai arī bez šīs informācijas. Piešķirot šim datu tipam, vērtībām nav jāpievieno pēdiņās.

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

Sintakses skaidrojums:

  • Iepriekš minētajā pirmajā deklarācijā tiek deklarēts, ka mainīgajam “A” ir ciparu datu tips ar kopējo 8. precizitāti un 2. decimālzīmi.
  • Otrajā deklarācijā tiek deklarēts, ka mainīgais “B” ir datu tipa numurs ar kopējo precizitāti 8 un bez cipariem aiz komata.
  • Trešā deklarācija ir visizplatītākā, paziņojot, ka mainīgais “C” ir datu tipa numurs bez precizitātes vai decimālzīmju ierobežojuma. Tas var aizņemt ne vairāk kā 38 ciparus.

BOOLEAN datu tips:

Šis datu tips saglabā loģiskās vērtības. Tas apzīmē vai nu TRUE, vai FALSE, un to galvenokārt izmanto nosacījumos. Piešķirot šim datu tipam, vērtībām nav jāpievieno pēdiņās.

Var1 BOOLEAN;

Sintakses skaidrojums:

  • Iepriekš minētais mainīgais “Var1” tiek deklarēts kā BOOLEAN datu tips. Pamatojoties uz iestatīto nosacījumu, koda izvade būs patiesa vai nepatiesa.

DATE Datu tips:

Šis datu tips vērtības glabā datuma formātā, kā datums, mēnesis un gads. Ikreiz, kad mainīgajam tiek noteikts datu datums DATE kopā ar datumu, tajā var būt informācija par laiku, un pēc noklusējuma laika informācija tiek iestatīta uz 12:00:00, ja tas nav norādīts. Piešķirot šim datu tipam, vērtības jāievieto pēdiņās.

Oracle standarta ievades un izvades laika formāts ir “DD-MON-YY”, un sesijas līmenī tas atkal tiek iestatīts uz NLS_PARAMETERS (NLS_DATE_FORMAT).

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

Sintakses skaidrojums:

  • Iepriekš minētais mainīgais “newyear” tiek deklarēts kā DATE datu tips un tam tiek piešķirta 2015. gada 1. janvāra datuma vērtība.
  • Otrajā deklarācijā mainīgais current_date tiek deklarēts kā DATE datu tips un tam piešķirta vērtība ar pašreizējo sistēmas datumu.
  • Abi šie mainīgie satur informāciju par laiku.

LOB datu tips:

Šis datu tips galvenokārt tiek izmantots, lai uzglabātu un manipulētu ar lieliem nestrukturētu datu blokiem, piemēram, attēliem, multivides failiem utt. Oracle dod priekšroku LOB, nevis LONG datu tipam, jo ​​tas ir elastīgāks nekā LONG datu tips. Tālāk ir norādītas dažas galvenās LOB priekšrocības salīdzinājumā ar LONG datu tipu.

  • Kolonnas skaits tabulā ar LONG datu tipu ir ierobežots līdz 1, turpretim tabulai nav ierobežojumu kolonnu skaitam ar LOB datu tipu.
  • Datu saskarnes rīks datu replikācijas laikā pieņem tabulas LOB datu tipu, bet tas izlaiž tabulas LONG kolonnu. Šīs LONG kolonnas ir jāatkārto manuāli.
  • Kolonnas LONG izmērs ir 2 GB, savukārt LOB var saglabāt līdz 128 TB.
  • Oracle pastāvīgi uzlabo LOB datu tipu katrā izlaidumā atbilstoši mūsdienu prasībām, turpretī LONG datu tips ir nemainīgs un nesaņem daudz atjauninājumu.

Tātad vienmēr ir labi izmantot LOB datu tipu LONG datu veida vietā. Tālāk ir norādīti dažādi LOB datu tipi. Tie var uzglabāt līdz 128 terabaitu lielumam.

  1. LABUMS
  2. CLOB un NCLOB
  3. BFILE
Datu tips Apraksts Sintakse
LABUMS

Šis datu tips saglabā LOB datus binārā faila formātā līdz maksimālajam izmēram 128 TB. Tas nesaglabā datus, pamatojoties uz rakstzīmju kopas detaļām, lai varētu glabāt nestrukturētus datus, piemēram, multivides objektus, attēlus utt.

Binary_data BLOB;

Sintakses skaidrojums:

  • Iepriekš minētais mainīgais 'Binary_data' tiek deklarēts kā BLOB.
CLOB un NCLOB

CLOB datu tips saglabā LOB datus rakstzīmju kopā, savukārt NCLOB datus - vietējā rakstzīmju kopā. Tā kā šie datu tipi izmanto rakstzīmju kopas krātuvi, tie nevar saglabāt tādus datus kā multivide, attēli utt., Kurus nevar ievietot rakstzīmju virknē. Šo datu tipu maksimālais lielums ir 128 TB.

Charac_data CLOB;

Sintakses skaidrojums:

  • Iepriekš minētais mainīgais “Charac_data” tiek deklarēts kā CLOB datu tips.
BFILE
  • BFILE ir datu tipi, kas nestrukturētos binārā formāta datus glabāja ārpus datubāzes kā operētājsistēmas failu.
  • BFILE lielums ir ierobežota operētājsistēma, un tie ir tikai lasāmi faili, kurus nevar mainīt.

Kopsavilkums

Mēs esam aplūkojuši dažādus vienkāršus datu tipus, kas ir pieejami PL / SQL, kā arī to sintaksi. Mēs uzzināsim par sarežģītiem datu tipiem turpmākajās tēmās.