Tipuri de date Oracle PL / SQL: boolean, număr, dată (exemplu)

Cuprins:

Anonim

Ce este tipul de date PL / SQL?

Un tip de date este asociat cu formatul de stocare specific și constrângerile de interval. În Oracle, fiecare valoare sau constantă este alocată unui tip de date.

Practic, definește modul în care datele sunt stocate, tratate și tratate de Oracle în timpul stocării și procesării datelor.

Principala diferență între tipurile de date PL / SQL și SQL este că tipul de date SQL este limitat la coloana tabelului, în timp ce tipurile de date PL / SQL sunt utilizate în blocurile PL / SQL. Mai multe despre acest lucru mai târziu în tutorial.

În continuare este prezentată diagrama diferitelor tipuri de date din PL / SQL

În acest tutorial, veți învăța-

  • Tipul de date CARACTER
  • NUMBER Tip de date
  • Tipul de date BOOLEAN
  • DATE Tipul de date
  • Tipul de date LOB

Tipul de date CARACTER:

Acest tip de date stochează practic caractere alfanumerice în format șir.

Valorile literale ar trebui să fie întotdeauna închise între ghilimele unice în timp ce le atribuiți tipului de date CHARACTER.

Acest tip de date cu caracter este clasificat în continuare după cum urmează:

  • Tipul de date CHAR (dimensiunea șirului fix)
  • VARCHAR2 Tipul de date (dimensiunea șirului variabil)
  • VARCHAR Tipul de date
  • NCHAR (dimensiunea nativă a șirului fix)
  • NVARCHAR2 (dimensiunea nativă a șirului variabil)
  • LUNG și LUNG RAW
Tipul de date Descriere Sintaxă
CHAR Acest tip de date stochează valoarea șirului, iar dimensiunea șirului este fixată în momentul declarării variabilei.
  • Oracle ar fi completată în gol cu ​​variabila dacă variabila nu ar ocupa întreaga dimensiune care a fost declarată pentru aceasta, prin urmare Oracle va aloca memoria pentru dimensiunea declarată chiar dacă variabila nu a ocupat-o complet.
  • Restricția de dimensiune pentru acest tip de date este de 1-2000 de octeți.
  • Tipul de date CHAR este mai potrivit pentru a fi utilizat în cazul în care se va rezolva dimensiunea datelor.
grade CHAR;manager CHAR (10):= 'guru99';
Sintaxă Explicație:
  • Prima declarație de declarație a declarat variabila „grad” a tipului de date CHAR cu dimensiunea maximă de 1 octet (valoare implicită).
  • A doua declarație de declarație a declarat variabila „manager” a tipului de date CHAR cu dimensiunea maximă de 10 și a atribuit valoarea „guru99” care este de 6 octeți. Oracle va aloca memoria de 10 octeți în loc de 6 octeți în acest caz.
VARCHAR2 Acest tip de date stochează șirul, dar lungimea șirului nu este fixată.
  • Restricția de dimensiune pentru acest tip de date este de 1-4000 octeți pentru dimensiunea coloanei tabelului și 1-32767 octeți pentru variabile.
  • Mărimea este definită pentru fiecare variabilă în momentul declarării variabilei.
  • Dar Oracle va aloca memorie numai după ce variabila este definită, adică Oracle va lua în considerare numai lungimea reală a șirului care este stocată într-o variabilă pentru alocarea memoriei, mai degrabă decât dimensiunea care a fost dată pentru o variabilă în partea declarației.
  • Este întotdeauna bine să utilizați VARCHAR2 în locul tipului de date CHAR pentru a optimiza utilizarea memoriei.
manager VARCHAR2(10) := ‘guru99';
Sintaxă Explicație:
  • Declarația de declarație de mai sus a declarat variabila „manager” a tipului de date VARCHAR2 cu dimensiunea maximă de 10 și a atribuit valoarea „guru99” care este de 6 octeți. Oracle va aloca memorie de numai 6 octeți în acest caz.
VARCHAR Acest lucru este sinonim cu tipul de date VARCHAR2.
  • Este întotdeauna o bună practică să folosiți VARCHAR2 în loc de VARCHAR pentru a evita modificările comportamentale.
manager VARCHAR(10) := ‘guru99';
Sintaxă Explicație:
  • Declarația de mai sus a declarat variabila „manager” a tipului de date VARCHAR cu dimensiunea maximă de 10 și a atribuit valoarea „guru99” care este de 6 octeți. Oracle va aloca memorie de numai 6 octeți în acest caz. (Similar cu VARCHAR2)
NCHAR Acest tip de date este același cu tipul de date CHAR, dar setul de caractere va fi setul de caractere național.
  • Acest set de caractere poate fi definit pentru sesiune folosind NLS_PARAMETERS.
  • Setul de caractere poate fi UTF16 sau UTF8.
  • Restricția de dimensiune este de 1-2000 de octeți.
native NCHAR(10);
Sintaxă Explicație:
  • Declarația de mai sus declară variabila „nativă” a tipului de date NCHAR cu dimensiunea maximă de 10.
  • Lungimea acestei variabile depinde de (numărul de lungimi) pe octet, așa cum este definit în setul de caractere.
NVARCHAR2 Acest tip de date este același cu tipul de date VARCHAR2, dar setul de caractere va fi al setului de caractere național.
  • Acest set de caractere poate fi definit pentru sesiune folosind NLS_PARAMETERS.
  • Setul de caractere poate fi UTF16 sau UTF8.
  • Restricția de dimensiune este de 1-4000 de octeți.
Native var NVARCHAR2(10):='guru99';
Sintaxă Explicație:
  • Declarația de mai sus declară variabila „Native_var” a tipului de date NVARCHAR2 cu dimensiunea maximă de 10.
LUNG și LUNG Acest tip de date este utilizat pentru stocarea textului mare sau a datelor brute până la dimensiunea maximă de 2 GB.
  • Acestea sunt utilizate în principal în dicționarul de date.
  • Tipul de date LONG este utilizat pentru a stoca datele setului de caractere, în timp ce LONG RAW este utilizat pentru a stoca date în format binar.
  • Tipul de date LONG RAW acceptă obiecte media, imagini etc., în timp ce LONG funcționează numai pe date care pot fi stocate folosind setul de caractere.
Large_text LONG;Large_raw LONG RAW;
Sintaxă Explicație:
  • Declarația de mai sus declară variabila „Large_text” a tipului de date LONG și „Large_raw” a tipului de date LONG RAW.
Notă: Utilizarea tipului de date LONG nu este recomandată de Oracle. În schimb, ar trebui preferat tipul de date LOB.

NUMBER Tip de date:

Acest tip de date stochează numere fixe sau cu virgulă mobilă de până la 38 de cifre de precizie. Acest tip de date este utilizat pentru a lucra cu câmpuri care vor conține doar date numerice. Variabila poate fi declarată fie cu detalii de precizie și cifre zecimale, fie fără aceste informații. Valorile nu trebuie să fie cuprinse între ghilimele în timpul atribuirii pentru acest tip de date.

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

Sintaxă Explicație:

  • În cele de mai sus, prima declarație declară că variabila „A” este de tip număr de date cu precizie totală 8 și cifre zecimale 2.
  • A doua declarație declară că variabila „B” are un număr de date cu o precizie totală de 8 și fără cifre zecimale.
  • A treia declarație este cea mai generică, declară că variabila „C” este de tip numeric, fără restricții de precizie sau zecimale. Poate dura până la maximum 38 de cifre.

Tipul de date BOOLEAN:

Acest tip de date stochează valorile logice. Reprezintă ADEVĂR sau FALS și este utilizat în principal în enunțuri condiționate. Valorile nu trebuie să fie cuprinse între ghilimele în timpul atribuirii pentru acest tip de date.

Var1 BOOLEAN;

Sintaxă Explicație:

  • În cele de mai sus, variabila „Var1” este declarată ca tip de date BOOLEAN. Ieșirea codului va fi fie adevărată, fie falsă pe baza condiției setate.

DATE Tip de date:

Acest tip de date stochează valorile în formatul datei, ca dată, lună și an. Ori de câte ori o variabilă este definită cu tipul de date DATE împreună cu data, poate păstra informații despre timp și, în mod implicit, informațiile despre timp sunt setate la 12:00:00 dacă nu sunt specificate. Valorile trebuie să fie incluse între ghilimele în timpul atribuirii pentru acest tip de date.

Formatul orar standard Oracle pentru intrare și ieșire este „DD-MON-YY” și este din nou setat la NLS_PARAMETERS (NLS_DATE_FORMAT) la nivelul sesiunii.

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

Sintaxă Explicație:

  • În variabila „Newyear“ de mai sus, este declarat ca tip de date actualizate și atribuie valoarea 1 ianuarie st 2015 data.
  • A doua declarație declară variabila current_date ca tip de date DATE și a atribuit valoarea cu data curentă a sistemului.
  • Ambele variabile conțin informații despre timp.

Tipul de date LOB:

Acest tip de date este utilizat în principal pentru a stoca și manipula blocuri mari de date nestructurate precum imagini, fișiere multimedia etc. Oracle preferă LOB în loc de tipul de date LONG, deoarece este mai flexibil decât tipul de date LONG. Mai jos sunt cele câteva avantaje principale ale LOB față de tipul de date LONG.

  • Numărul de coloane dintr-un tabel cu tip de date LONG este limitat la 1, în timp ce un tabel nu are restricții asupra unui număr de coloane cu tip de date LOB.
  • Instrumentul de interfață de date acceptă tipul de date LOB al tabelului în timpul replicării datelor, dar omite coloana LONG a tabelului. Aceste coloane LONG trebuie să fie reproduse manual.
  • Dimensiunea coloanei LONG este de 2 GB, în timp ce LOB poate stoca până la 128 TB.
  • Oracle îmbunătățește în mod constant tipul de date LOB în fiecare dintre versiunile lor, conform cerințelor moderne, în timp ce tipul de date LONG este constant și nu primește multe actualizări.

Deci, este întotdeauna bine să utilizați tipul de date LOB în loc de tipul de date LONG. Următoarele sunt diferitele tipuri de date LOB. Pot stoca până la dimensiunea de 128 terabytes.

  1. BLOB
  2. CLOB și NCLOB
  3. FIȘIER
Tipul de date Descriere Sintaxă
BLOB

Acest tip de date stochează datele LOB în format de fișier binar până la dimensiunea maximă de 128 TB. Aceasta nu stochează date bazate pe detaliile setului de caractere, astfel încât să poată stoca datele nestructurate, cum ar fi obiecte multimedia, imagini etc.

Binary_data BLOB;

Sintaxă Explicație:

  • În cele de mai sus, variabila „Binary_data” este declarată ca BLOB.
CLOB și NCLOB

Tipul de date CLOB stochează datele LOB în setul de caractere, în timp ce NCLOB stochează datele în setul de caractere native. Deoarece aceste tipuri de date utilizează stocarea bazată pe seturi de caractere, acestea nu pot stoca date precum multimedia, imagini etc. care nu pot fi introduse într-un șir de caractere. Dimensiunea maximă a acestor tipuri de date este de 128 TB.

Charac_data CLOB;

Sintaxă Explicație:

  • În cele de mai sus, variabila „Charac_data” este declarată ca tip de date CLOB.
FIȘIER
  • BFILE sunt tipurile de date care au stocat datele de format binar nestructurate în afara bazei de date ca fișier al sistemului de operare.
  • Dimensiunea BFILE este pentru un sistem de operare limitat și sunt fișiere numai în citire și nu pot fi modificate.

rezumat

Am acoperit diferitele tipuri de date simple disponibile în PL / SQL împreună cu sintaxa lor. Vom afla despre tipuri de date complexe în alte subiecte.