pl sql data types variables
Acest tutorial explică ce sunt tipurile de date PL SQL, variabile, constante și litere în detaliu cu ajutorul exemplelor de programare:
În tutorialul anterior al Seria PL / SQL , am fost introduși în PL / SQL cu caracteristicile și sintaxa de bază cu exemple.
În acest articol, vom discuta despre diferitele tipuri de date acceptate de PL / SQL. De asemenea, vom explora variabilele și constantele utilizate pe scară largă în PL SQL.
Literalele PL / SQL sunt, de asemenea, importante și vom afla despre acest lucru în acest tutorial, împreună cu utilizarea sa practică.
Ce veți învăța:
Pl Tipuri de date SQL
Toate variabilele, constantele, parametrii PL / SQL au un anumit tip de date care definește gama de valori, constrângerile și formatul în care sunt stocate. PL / SQL conține tipuri de date, cum ar fi obiectul mare, cunoscut și sub numele de LOB, Scalar, Reference și Composite.
Tipuri de date scalare
Să discutăm mai întâi tipurile de date scalare care constau în următoarele:
- NUMERIC tipuri de date care se ocupă de valori pe care se fac operații matematice.
- BOOLEAN tipuri de date care se ocupă de valorile pe care se efectuează operațiuni logice.
- CARACTER tipuri de date care se ocupă de valorile constând din cele alfanumerice.
- DATA TIME tipuri de date.
Tipuri de date numerice
Tipul de date numeric al PL / SQL constă din următoarele:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- ZECIMAL
- NUMERIC
- NUMĂR
- PLUTI
- INT
- ÎNTREG
- PRECIZIE DUBLA
- REAL
- SMINTINT
- DEC
Fragment de cod cu tipuri de date numerice:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
În codul de mai sus, avem tipuri de date INTEGER, NUMBER și DOUBLE PRECISION cu variabilele numA, num și respectiv numC. numB are un tip de date numerice cu precizie 10 și nu are cifre după zecimală.
Ieșirea codului de mai sus ar trebui să fie:
Tipuri de date despre caractere
Tipurile de date de caractere ale PL / SQL constau din următoarele, așa cum sunt enumerate mai jos:
# 1) VARCHAR2: Acest tip de date va stoca șir, dar lungimea șirului nu este fixată în momentul declarării. Varchar2 are o dimensiune maximă de până la 32767 octeți. Lățimea maximă a unei coloane de baze de date varchar2 este de 4000 de octeți.
Sintaxă:
test VARCHAR2 (20): = ‘SoftwareTest’;
# 2) CHAR: Acest tip de date va stoca șir, dar lungimea șirului este fixată în momentul declarării. Caracterul are o dimensiune maximă de până la 32767 octeți. Lățimea maximă a unei coloane a bazei de date char este de 2000 de octeți.
Sintaxă:
test CHAR2 (20): = ‘SoftwareTest’;
# 3) NCHAR: Acest lucru este similar cu CHAR, dar va stoca doar setul de caractere naționale. NCHAR are o dimensiune maximă de până la 32767 octeți. Lățimea maximă a unei coloane a bazei de date NCHAR este de 2000 de octeți.
Sintaxă:
test NCHAR2 (20);
# 4) LUNG: Aceasta va stoca șiruri de caractere cu lungime variabilă. Lungimea are o dimensiune maximă de până la 32760 octeți.
Sintaxă:
test LUNG;
# 5) RÂND LUNG: Aceasta va stoca date în format binar sau șiruri de octeți. Rândul lung are o dimensiune maximă de până la 32760 octeți.
implementarea tabelului hash c ++
Sintaxă:
testa RÂND LUNG;
# 6) ROWID: Acestea sunt identificatorii fizici ai unui rând care indică adresa unui rând dintr-un tabel normal.
# 7) UROWID: Acestea sunt identificatorii universali ai rândurilor.
# 8) NVARCHAR2: Acest lucru este similar cu VARCHAR2, dar va stoca doar setul de caractere național. Lățimea maximă a unei coloane de baze de date nvarchar2 este de 4000 de octeți.
# 9) VARCHAR: Acest lucru este similar cu VARCHAR2.
Sintaxă:
test VARCHAR2 (20): = ‘SoftwareTest’;
Să discutăm acum despre tipurile de date de caractere ale PL / SQL în format tabelar.
Sl Nr. | Tip de date | Descriere |
---|---|---|
7 | LONGROW | Acest lucru este similar cu LONG. Aceste date nu sunt interpretate de PL / SQL. |
unu | VARCHAR2 | Aceasta este utilizată pentru stocarea datelor caracterelor care au o lungime variabilă. Dimensiunea este setată pentru variabilele din momentul declarației. Este întotdeauna recomandat să utilizați VARCHAR2 pentru utilizarea eficientă a memoriei. |
Două | CHAR | Aceasta este utilizată pentru stocarea datelor de caracter care au o lungime fixă. Dimensiunea este setată pentru variabilele din momentul declarației. Este întotdeauna recomandat să utilizați CHAR atunci când datele de dimensiune fixă trebuie utilizate. |
3 | VARCHAR | Acest lucru este similar cu VARCHAR2. Este întotdeauna recomandat să utilizați VARCHAR în timpul implementării codului. |
4 | NCHAR | Aceasta este utilizată pentru stocarea datelor de caractere care au date de caractere naționale de lungime fixă. Setul de caractere este fie UTF 8, fie UTF 16. Este întotdeauna recomandat să convertiți CHAR în NCHAR. Dar convertirea NCHAR în CHAR poate duce la trunchierea datelor. |
5 | NVARCHAR2 | Aceasta este utilizată pentru stocarea datelor de caractere care au date de caractere naționale de lungime variabilă. Acest lucru este similar cu VARCHAR2. Setul de caractere este fie UTF 8, fie UTF 16. Este întotdeauna recomandat să convertiți VARCHAR2 în NVARCHAR2. Dar convertirea NVARCHAR2 în VARCHAR2 poate duce la trunchierea datelor. |
6 | LUNG | Acesta este utilizat într-un dicționar de date. Aceasta este utilizată în principal în datele setului de caractere. |
Tipuri de date booleene
Aceste tipuri de date PL / SQL pot fi utilizate pentru stocarea valorilor logice. TRUE, FALSE și NULL sunt valorile booleene.
SQL nu are tipuri de date BOOLEAN. Deci, trebuie să le evităm în următoarele scenarii:
- Instrucțiuni PL / SQL generate de SQL.
- Funcțiile implicite ale PL / SQL.
- Instrucțiuni SQL normale.
Sintaxă:
test Boolean;
Rezultatul variabilei de test va fi ADEVĂRAT sau FALS, în funcție de anumite criterii.
Tipuri de date de dată și oră
Aceste tipuri de date sunt utilizate pentru durate constante de dată și oră. Intervalul corect de date începe de la 1 ianuarie 4712 î.Hr. până la 31 decembrie 9999 d.Hr., iar timpul este definit în termeni de secunde. Formatul de dată încorporat este DD-MON-YY, care implică două cifre alocate pentru ziua lunii, numele lunii pe scurt și apoi ultimele două cifre ale anului.
O DATĂ constă din al doilea, minutul, ziua, ora, luna, anul și secolul. Fiecare dintre aceste câmpuri are un interval specific definit așa cum este listat mai jos:
- AL DOILEA: Este definit între 00 și 59,9.
- MINUT: Este definit în intervalul de la 00 la 59.
- ORA: Este definit în intervalul de la 00 la 23.
- ZI: Este definit în intervalul 01-31.
- LUNĂ: Este definit în intervalul de la 01 la 12.
- AN: Este definit în intervalul de la -4712 la 9999 (care nu include 0).
- TIMEZONE_HOUR: Este definit în intervalul de la -12 la 14.
- TIMEZONE_MINUTE: Este definit în intervalul de la 00 la 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Sintaxă:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Aici, am descris fusul orar folosind simboluri. Specificațiile SUA / Pacific sau PDT sunt utilizate pentru a defini un anumit fus orar. Formularul PDT este utilizat în cea mai mare parte deoarece oferă instrucțiunile în timp ce treceți la ora de vară.
Tipuri de date LOB
Să discutăm acum despre tipurile de date LOB care se ocupă de bucăți uriașe de date constând din videoclipuri, sunete, grafică, imagini și așa mai departe.
Tipurile de date LOB au numeroase avantaje față de tipurile de date lungi. Acestea sunt enumerate mai jos:
- Lung poate găzdui 2 GB, în timp ce LOB poate conține 128 TB.
- Un tabel poate avea o singură coloană de tip LONG, în timp ce pot exista numeroase coloane de tip LOB de date.
- Tipul de date LOB suferă îmbunătățiri și actualizări constante de la Oracle, în timp ce tipul de date LONG nu are multe îmbunătățiri și actualizări.
Tipurile de date LOB sunt enumerate mai jos:
- FIȘIER: Aceasta este utilizată pentru a păstra datele nestructurate în format binar din baza de date ca fișier al sistemului de operare.
- NCLOB: Acesta este folosit pentru a păstra date imense NCHAR în baza de date.
- CLOB: Aceasta este utilizată pentru a păstra date imense de tip caracter în baza de date.
Sintaxă:
CLOB binar;
- BLOB: Acesta este utilizat pentru a păstra date binare uriașe în baza de date.
Sintaxă:
BLOB binar;
Implementarea codului cu unele tipuri de date:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
Ieșirea codului de mai sus ar trebui să fie:
Variabile PL SQL
Numele variabilelor PL / SQL urmează convenția de numire care constă din caractere alfanumerice de cel mult treizeci. PL / SQL nu distinge majuscule și minuscule, iar cuvintele cheie nu trebuie utilizate ca variabilă.
Numele variabilei trebuie să fie semnificativ și poate fi urmat de un subliniere (_), număr sau dolar ($).
Declarație variabilă PL SQL
Variabilele PL / SQL trebuie să fie disponibile în zona de declarație sau prezente într-un pachet ca variabilă globală. PL / SQL rezervă memorie pentru variabile, iar locația stocării este definită de numele variabilei.
Sintaxa pentru declarația variabilă:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Aici, variable_name este un identificator PL / SQL autentic, iar tipul de date poate fi un tip de date PL / SQL confirmat de utilizator sau confirmat.
Implementarea codului pentru declarația variabilă:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
Ieșirea codului de mai sus ar trebui să fie:
Vă rugăm să rețineți, am menționat atât precizia, cât și dimensiunea tipului de date numerice. Aceasta este cunoscută sub numele de declarație constrânsă. Acest tip de declarație consumă mai puțină memorie.
Inițializarea variabilei PL / SQL
În mod implicit, PL / SQL ia valoarea unei variabile ca NULL. Cu toate acestea, dacă nu dorim să inițializăm o variabilă cu NULL, atunci aceasta se poate realiza fie utilizând cuvântul cheie DEFAULT, fie cu operatorul de atribuire.
Sintaxă:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
De asemenea, putem defini că o variabilă nu trebuie să aibă valoare NULL menționând constrângerea NOT NULL. Cu toate acestea, dacă se utilizează constrângerea NOT NULL, trebuie să setăm o valoare pentru variabilă.
Implementarea codului cu inițializare variabilă:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
Ieșirea codului de mai sus ar trebui să fie:
Implementarea codului cu conceptul de atribuire:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Aici operatorul de atribuire (=) este utilizat pentru a atribui valori variabilei.
Ieșirea codului de mai sus ar trebui să fie:
Domeniul de aplicare variabil PL / SQL
Un bloc PL / SQL poate avea blocuri interioare de cod. Dacă o variabilă declarată este o parte a blocului interior nu poate fi utilizată de blocul exterior. Dar o variabilă care face parte din blocul exterior poate fi manipulată în blocul interior de cod.
Aceste tipuri de variabile sunt descrise mai jos:
- Variabile globale: Variabilele care sunt declarate la blocul exterior sau pachet.
- Variabile locale: Variabilele care sunt declarate în blocul interior de cod și nu pot fi accesate din blocul exterior.
Implementarea codului cu variabile globale și locale:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
Ieșirea codului de mai sus ar trebui să fie:
Vă rugăm să rețineți că ieșirea aici, variabila globală este: 10 (din cauza variabilei globale val) și „Variabila locală este: 100 (din cauza variabilei locale val).
Ancoră PL / SQL
Ancorele PL / SQL sunt definite cu cuvântul cheie% TYPE pentru a declara variabile cu tipul de date conectat cu tipul de date al acelei coloane specifice din tabel.
Fragment de cod cu ancoră:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Aici avem un tabel REZIDENT și avem de-a face cu coloanele NUME și ADRESĂ ale tabelului respectiv.
Constante în PL / SQL
O constantă păstrează valoarea care a fost declarată odată neschimbată pe tot parcursul programului.
Declarație constantă PL / SQL
CONSTANT cuvântul cheie este utilizat pentru a defini constantele din program. Începe cu o valoare predefinită care rămâne aceeași pe tot parcursul programului.
Sintaxa pentru declarația variabilă:
const_name CONSTANT data type := val
Implementarea codului cu constantă:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
Ieșirea codului de mai sus ar trebui să fie:
Litere în PL SQL
O valoare booleană, numerică sau o șir care nu este definită de un identificator PL / SQL se numește literal. Literalele sunt sensibile la majuscule și minuscule și sunt de următoarele tipuri, astfel cum sunt enumerate mai jos:
- Litere booleene ( De exemplu - FALS ADEVARAT )
- Litere de caracter ( De exemplu - „s”, „7”, „)”)
- Litere în șir ( De exemplu - „Test software”)
- Literal numeric ( De exemplu - 78, 04, 6.3)
- DATĂ și litere de timp ( De exemplu - '25 -05-2012 ')
Întrebări și răspunsuri frecvente
Q # 1) Care sunt tipurile de date din PL SQL?
Răspuns: Tipurile de date PL SQL sunt compozite și scalare. Tipurile de date scalare pot conține valori unice precum Character, Number, Boolean și DateTime. În timp ce tipurile de date compozite stochează mai multe valori, cum ar fi colectarea și înregistrarea.
Q # 2) Ce este variabila PL / SQL?
Răspuns: O variabilă PL SQL este un nume care ajută un dezvoltator să stocheze datele temporar în timpul executării programului. Este un nume semnificativ atribuit zonei de stocare. Toate variabilele din PL / SQL aparțin unui anumit tip de date.
Q # 3) Cum să treceți un parametru de dată în PL / SQL?
Răspuns: Putem trece un parametru de dată în PL / SQL cu ajutorul cuvântului cheie DATE. Urmează un format fix ca „AAAA-LL-ZZ”.
Q # 4) Cum declarați o constantă în PL / SQL?
Răspuns: Putem declara o constantă în PL / SQL cu ajutorul cuvântului cheie CONSTANT. După CONSTANT, trebuie să menționăm valoarea care i se atribuie. Această valoare rămâne fixă pe tot parcursul programului.
Q # 5) Câte tipuri de litere sunt disponibile în PL / SQL?
Răspuns: Tipurile de litere din PL / SQL sunt Number, DateTime, Text și Integer.
Q # 6) Variabilele PL SQL sunt sensibile la majuscule?
Răspuns: Variabilele SQL PL, inclusiv cuvintele rezervate, nu disting majuscule și minuscule. De exemplu, ÎNCEPE și începe ambele servesc același scop.
Concluzie
O mare parte din PL / SQL care tratează subiecte precum diferitele tipuri de date utilizate și importanța lor și variabilele PL SQL ar trebui să fie inteligibile acum după ce ați citit acest tutorial.
De asemenea, am explorat în detaliu constantele și literele PL SQL. Parcurgeți fiecare dintre subiecte unul câte unul și încet veți stăpâni acest lucru. PL / SQL este utilizat în industrie atât pentru dezvoltarea web, cât și pentru server în zilele noastre.
În următorul tutorial, vom discuta despre inserția PL / SQL, Actualizare, Ștergere, instrucțiune Select și alte subiecte conexe.
Să rămânem atenți pentru mai multe schimburi de cunoștințe.
Lectură recomandată
- Variabile Python
- Tipuri de date Python
- Tipuri de date C # și variabile cu exemple
- Parametrizarea datelor JMeter folosind variabile definite de utilizator
- Tutorial Data Mart - Tipuri, exemple și implementarea Data Mart
- Tipuri de date C ++
- Variabile Java și tipurile lor cu exemple
- SQL vs NoSQL Diferențe exacte și știți când să utilizați NoSQL și SQL