pl sql data types variables
Ovaj vodič detaljno objašnjava što su PL SQL vrste podataka, varijable, konstante i literale uz pomoć primjera programiranja:
U prethodnom vodiču PL / SQL serija , upoznali smo se s PL / SQL-om s njegovim značajkama i osnovnom sintaksom s primjerima.
U ovom ćemo članku razgovarati o različitim vrstama podataka koje PL / SQL podržava. Također ćemo istražiti varijable i konstante koje se opsežno koriste u PL SQL-u.
PL / SQL literali su također važni i o tome ćemo naučiti u ovom vodiču zajedno s praktičnom uporabom.
Što ćete naučiti:
Pl SQL tipovi podataka
Sve varijable, konstante, parametri PL / SQL imaju određenu vrstu podataka koja definira raspon vrijednosti, ograničenja i format u kojem su pohranjene. PL / SQL sadrži vrste podataka poput Velikog objekta također poznatog kao LOB, Skalarni, Referentni i Kompozitni.
Skalarni tipovi podataka
Prvo razgovarajmo o skalarnim vrstama podataka koje se sastoje od sljedećeg:
- NUMERIČKI tipovi podataka koji se bave vrijednostima na kojima se rade matematičke operacije.
- BOOLEAN tipovi podataka koji se bave vrijednostima na kojima se rade logičke operacije.
- LIK tipovi podataka koji se bave vrijednostima koje se sastoje od alfanumeričkih.
- DATUM VRIJEME vrste podataka.
Numerički tipovi podataka
Numerički tip podataka PL / SQL sastoji se od sljedećeg:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DECIMAL
- NUMERIČKI
- BROJ
- PLUTATI
- INT
- CIJELI
- DUPLA PRECIZNOST
- STVARAN
- SMALI
- DEC
Isječak koda s numeričkim vrstama podataka:
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; /
U gornjem kodu imamo vrste podataka INTEGER, NUMBER i DOUBLE PRECISION s varijablama numA, numB i numC. numB ima tip podataka s brojem s preciznošću 10 i nema znamenke nakon decimale.
Izlaz gornjeg koda trebao bi biti:
Tipovi podataka o znakovima
Tipovi podataka znakova PL / SQL sastoje se od sljedećeg kako je navedeno u nastavku:
# 1) VARCHAR2: Ova vrsta podataka pohranit će niz, ali duljina niza nije fiksna u trenutku deklaracije. Varchar2 ima maksimalnu veličinu do 32767 bajtova. Maksimalna širina stupca baze podataka varchar2 je 4000 bajtova.
Sintaksa:
test VARCHAR2 (20): = 'SoftwareTest';
# 2) CHAR: Ovaj tip podataka pohranit će niz, ali duljina niza je fiksna u trenutku deklaracije. Char ima maksimalnu veličinu do 32767 bajtova. Maksimalna širina stupca baze podataka char iznosi 2000 bajtova.
Sintaksa:
test CHAR2 (20): = 'SoftwareTest';
# 3) NCHAR: Ovo je slično CHAR-u, ali pohranit će samo nacionalni skup znakova. NCHAR ima maksimalnu veličinu do 32767 bajtova. Maksimalna širina stupca baze podataka NCHAR je 2000 bajtova.
Sintaksa:
test NCHAR2 (20);
# 4) DUG: Ovo će pohraniti nizove znakova promjenljive duljine. Long ima maksimalnu veličinu do 32760 bajtova.
Sintaksa:
test DUG;
# 5) DUGI RED: To će pohraniti podatke u binarnom formatu ili bajt-nizovima. Dugi red ima maksimalnu veličinu do 32760 bajtova.
najbolji DVD ripping softver za Mac
Sintaksa:
test DUG RED;
# 6) KRUTAK: To su fizički identifikatori retka koji upućuje na adresu retka u normalnoj tablici.
# 7) UROWID: To su univerzalni identifikatori redaka.
# 8) NVARCHAR2: Ovo je slično VARCHAR2, ali pohranit će samo nacionalni skup znakova. Maksimalna širina stupca baze podataka nvarchar2 je 4000 bajtova.
# 9) VARCHAR: Ovo je slično VARCHAR2.
Sintaksa:
test VARCHAR2 (20): = 'SoftwareTest';
Razmotrimo sada tipove podataka znakova PL / SQL u tabličnom formatu.
Sl br. | Vrsta podataka | Opis |
---|---|---|
7 | DUGO | Ovo je slično LONG-u. PL / SQL ne tumači ove podatke. |
jedan | VARCHAR2 | To se koristi za pohranu podataka o znakovima promjenjive duljine. Veličina se postavlja za varijable u trenutku deklaracije. Uvijek se preporučuje korištenje VARCHAR2 za učinkovito korištenje memorije. |
dva | CHAR | To se koristi za pohranu podataka o znakovima koji su fiksne duljine. Veličina se postavlja za varijable u trenutku deklaracije. Uvijek se preporučuje uporaba CHAR-a kada se koriste podaci fiksne veličine. |
3 | VARCHAR | Ovo je slično VARCHAR2. Uvijek se preporučuje uporaba VARCHAR-a tijekom implementacije koda. |
4 | NCHAR | To se koristi za pohranu podataka o znakovima koji su podataka nacionalnih znakova fiksne duljine. Skup znakova je ili UTF 8 ili UTF 16. Uvijek se preporučuje pretvoriti CHAR u NCHAR. Ali pretvaranje NCHAR u CHAR može dovesti do kršenja podataka. |
5 | NVARCHAR2 | Koristi se za pohranu podataka o znakovima koji imaju promjenjivu duljinu podataka o nacionalnim znakovima. Ovo je slično VARCHAR2. Skup znakova je ili UTF 8 ili UTF 16. Uvijek se preporučuje pretvoriti VARCHAR2 u NVARCHAR2. Ali pretvaranje NVARCHAR2 u VARCHAR2 može dovesti do skraćivanja podataka. |
6 | DUGO | To se koristi u rječniku podataka. To se prvenstveno koristi u podacima skupa znakova. |
Logičke vrste podataka
Ove vrste podataka PL / SQL mogu se koristiti za pohranu logičkih vrijednosti. TRUE, FALSE i NULL su logičke vrijednosti.
SQL nema BOOLEAN tipove podataka. Stoga ih moramo izbjegavati u sljedećim scenarijima:
- PL / SQL izrazi generirani iz SQL-a.
- Zadane funkcije PL / SQL-a.
- Uobičajeni SQL izrazi.
Sintaksa:
test Boolean;
Izlaz testne varijable bit će ISTINA ili NETOČNO, ovisno o određenim kriterijima.
Vrste podataka o datumu i vremenu
Te se vrste podataka koriste za konstantne duljine datuma i vremena. Odgovarajući raspon datuma počinje od 1. siječnja 4712. godine prije Krista do 31. prosinca 9999. godine, a vrijeme je definirano u sekundama. Ugrađeni format datuma je DD-MON-YY koji podrazumijeva dvoznamenke dodijeljene za dan u mjesecu, naziv mjeseca ukratko, a zatim posljednje dvije znamenke u godini.
DATUM se sastoji od sekunde, minute, dana, sata, mjeseca, godine i stoljeća. Svako od ovih polja ima definirani specifični raspon kao što je navedeno u nastavku:
- DRUGI: Definira se u rasponu od 00 do 59,9.
- MINUTA: Definiran je u rasponu od 00 do 59.
- SAT: Definiran je u rasponu od 00 do 23.
- DAN: Definiran je u rasponu od 01 do 31.
- MJESEC: Definiran je u rasponu od 01 do 12.
- GODINA: Definiran je u rasponu od -4712 do 9999 (koji ne uključuje 0).
- TIMEZONE_HOUR: Definiran je u rasponu od -12 do 14.
- TIMEZONE_MINUTE: Definiran je u rasponu od 00 do 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Sintaksa:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Ovdje smo opisali vremensku zonu pomoću simbola. Američka / Pacifička ili PDT specifikacija koristi se za definiranje određene vremenske zone. PDT obrazac se uglavnom koristi jer daje smjernice prilikom prelaska na ljetno računanje vremena.
Vrste podataka LOB
Razmotrimo sada tipove podataka LOB koji se bave ogromnim dijelovima podataka koji se sastoje od videozapisa, zvukova, grafika, slika itd.
LOB tipovi podataka imaju brojne prednosti u odnosu na duge tipove podataka. Oni su navedeni u nastavku:
- Long može primiti 2 GB, dok LOB može smjestiti 128 TB.
- Tablica može imati jedan stupac tipa LONG dok mogu biti brojni stupci tipa podataka LOB.
- Tip podataka LOB neprestano se poboljšava i ažurira iz Oraclea, dok tip podataka LONG nema puno poboljšanja i ažuriranja.
Tipovi podataka LOB navedeni su u nastavku:
- DODATAK: Koristi se za držanje nestrukturiranih podataka u binarnom formatu izvan baze podataka kao datoteke operativnog sustava.
- NCLOB: To se koristi za čuvanje ogromnih NCHAR podataka u bazi podataka.
- KLOB: To se koristi za čuvanje ogromnih podataka tipa znakova u bazi podataka.
Sintaksa:
Binarni CLOB;
- BLOB: To se koristi za čuvanje ogromnih binarnih podataka u bazi podataka.
Sintaksa:
Binarni BLOB;
Implementacija koda s nekim vrstama podataka:
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; /
Izlaz gornjeg koda trebao bi biti:
PL SQL varijable
Imena PL / SQL varijabli slijede konvenciju imenovanja koja se sastoji od alfanumeričkih znakova ne više od trideset. PL / SQL ne razlikuje velika i mala slova i ključne riječi ne bi se trebale koristiti kao varijabla.
Naziv varijable trebao bi biti smislen i nakon njega može doći donja crta (_), broj ili dolar ($).
PL SQL deklaracija varijable
Varijable PL / SQL moraju biti dostupne u području deklaracije ili u paketu kao globalna varijabla. PL / SQL rezervira memoriju za varijable, a mjesto spremišta definirano je imenom varijable.
Sintaksa za deklaraciju varijable:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Ovdje je ime_ varijable autentični PL / SQL identifikator, a tip podataka može biti korisnički definiran ili potvrđen PL / SQL tip podataka.
Implementacija koda za deklaraciju varijable:
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;
Izlaz gornjeg koda trebao bi biti:
Molim Zabilježite, spomenuli smo i preciznost i veličinu podatkovnog tipa broja. To je poznato kao ograničena deklaracija. Ova vrsta deklaracije troši manje memorije.
PL / SQL inicijalizacija varijabli
Prema zadanim postavkama PL / SQL uzima vrijednost varijable kao NULL. Međutim, ako ne želimo inicijalizirati varijablu s NULL, to se može postići korištenjem ključne riječi DEFAULT ili pomoću operatora dodjele.
Sintaksa:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Također možemo definirati da varijabla ne smije imati vrijednost NULL spominjanjem ograničenja NOT NULL. Međutim, ako se koristi ograničenje NOT NULL, moramo postaviti vrijednost za varijablu.
Implementacija koda s inicijalizacijom varijable:
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; /
Izlaz gornjeg koda trebao bi biti:
Implementacija koda s konceptom dodjele:
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; /
Ovdje se operator dodjele (=) koristi za dodjeljivanje vrijednosti varijabli.
Izlaz gornjeg koda trebao bi biti:
PL / SQL promjenjivi opseg
PL / SQL blok može imati unutarnje blokove koda. Ako je varijabla koja je deklarirana dio unutarnjeg bloka, ne može je koristiti vanjski blok. Ali varijablom koja je dio vanjskog bloka može se manipulirati u unutarnjem bloku koda.
Ove su vrste varijabli opisane u nastavku:
- Globalne varijable: Varijable koje su deklarirane na vanjskom bloku ili paketu.
- Lokalne varijable: Varijable koje su deklarirane u unutarnjem bloku koda i kojima se ne može pristupiti iz vanjskog bloka.
Implementacija koda s globalnim i lokalnim varijablama:
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; /
Izlaz gornjeg koda trebao bi biti:
Molim Zabilježite da je izlaz ovdje, Globalna varijabla: 10 (zbog globalne varijable val) i 'Lokalna varijabla je: 100 (zbog lokalne varijable val).
PL / SQL sidro
PL / SQL sidra definiraju se s ključnom riječi% TIP za deklariranje varijabli s tipom podataka povezanim s tipom podataka tog određenog stupca tablice.
Isječak koda sa sidrom:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Ovdje imamo tablicu RESIDENT i imamo posla sa stupcima IME i ADRESA te tablice.
Konstante u PL / SQL-u
Konstanta zadržava vrijednost koja je jednom proglašena nepromijenjenom tijekom cijelog programa.
PL / SQL konstantna deklaracija
The KONSTANTNO ključna riječ koristi se za definiranje konstanti u programu. Počinje s unaprijed definiranom vrijednošću koja ostaje ista tijekom cijelog programa.
Sintaksa za deklaraciju varijable:
const_name CONSTANT data type := val
Implementacija koda s konstantom:
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; /
Izlaz gornjeg koda trebao bi biti:
Literatura u PL SQL-u
Vrijednost logičke, numeričke vrijednosti ili niza koja nije definirana PL / SQL identifikatorom naziva se literal. Literali razlikuju velika i mala slova i sljedećih su vrsta kako su navedene u nastavku:
- Logički literali ( Na primjer - NETOČNO, ISTINITO)
- Znakovni literali ( Na primjer - ‘s’, ‘7’, ‘)’)
- String Literals ( Na primjer - 'Softverski test')
- Numerički literali ( Na primjer - 78, 04, 6.3)
- DATUM i vrijeme Literatura ( Na primjer - ’25.-05. 2012. ’)
Često postavljana pitanja i odgovori
P # 1) Koji su tipovi podataka u PL SQL-u?
Odgovor: Tipovi podataka PL SQL su složeni i skalarni. Skalarni tipovi podataka mogu sadržavati pojedinačne vrijednosti poput znaka, broja, logičke vrijednosti i datuma. Dok složeni tipovi podataka pohranjuju više od jedne vrijednosti poput prikupljanja i snimanja.
P # 2) Što je PL / SQL varijabla?
Odgovor: PL SQL varijabla naziv je koji programeru pomaže privremenom pohranjivanju podataka tijekom izvršavanja programa. To je suvislo ime dodijeljeno skladišnom prostoru. Sve varijable u PL / SQL pripadaju određenom tipu podataka.
P # 3) Kako proslijediti parametar datuma u PL / SQL?
Odgovor: Parametar datuma možemo proslijediti u PL / SQL uz pomoć ključne riječi DATE. Slijedi fiksni format kao „GGGG-MM-DD“.
P # 4) Kako deklarirate konstantu u PL / SQL-u?
Odgovor: Konstantu u PL / SQL možemo proglasiti uz pomoć ključne riječi CONSTANT. Nakon CONSTANT, moramo spomenuti vrijednost koja mu je dodijeljena. Ova vrijednost ostaje fiksna tijekom cijelog programa.
5. pitanje) Koliko je vrsta literala dostupno u PL / SQL-u?
Odgovor: Vrste literala u PL / SQL-u su Number, DateTime, Text i Integer.
Q # 6) Jesu li PL SQL varijable osjetljive na velika i mala slova?
Odgovor: PL SQL varijable, uključujući rezervirane riječi, ne razlikuju velika i mala slova. Na primjer, POČNITE i započnite oboje imaju istu svrhu.
Zaključak
Veliki dio PL / SQL-a koji se bavi temama poput različitih korištenih tipova podataka i njihove važnosti i varijabli PL SQL-a trebao bi biti razumljiv već nakon čitanja ovog vodiča.
Također, detaljno smo istražili PL SQL konstante i literale. Prođite kroz svaku od tema jednu po jednu i polako ćete to svladati. PL / SQL se danas koristi u industriji za razvoj weba i poslužitelja.
U sljedećem uputstvu raspravit ćemo PL / SQL umetanje, ažuriranje, brisanje, odabir izjave i druge srodne teme.
Pripazimo na više razmjene znanja.
Preporučena literatura
- Python varijable
- Python tipovi podataka
- Vrste podataka i varijable C # s primjerima
- JMeter parametalizacija podataka korištenjem korisnički definiranih varijabli
- Data Mart Tutorial - Vrste, primjeri i provedba Data Mart
- Vrste podataka C ++
- Java varijable i njihove vrste s primjerima
- SQL vs NoSQL Točne razlike i znajte kada koristiti NoSQL i SQL