pl sql data types variables
Ta vadnica s pomočjo primerov programiranja podrobno razlaga, kaj so PL SQL vrste podatkov, spremenljivke, konstante in literale.
V prejšnji vadnici PL / SQL serije smo se s primeri seznanili s PL / SQL z njegovimi lastnostmi in osnovno sintakso.
V tem članku bomo obravnavali različne vrste podatkov, ki jih podpira PL / SQL. Raziskovali bomo tudi spremenljivke in konstante, ki se pogosto uporabljajo v PL SQL.
Pomembni so tudi literali PL / SQL, o katerih bomo izvedeli v tej vadnici skupaj s praktično uporabo.
Kaj se boste naučili:
Tipi podatkov Pl SQL
Vse spremenljivke, konstante, parametri PL / SQL imajo določen podatkovni tip, ki določa obseg vrednosti, omejitve in obliko, v kateri so shranjene. PL / SQL vsebuje tipe podatkov, kot je Large Object, znan tudi kot LOB, Scalar, Reference in Composite.
Skalarne vrste podatkov
Najprej se pogovorimo o skalarnih vrstah podatkov, ki so sestavljene iz naslednjega:
- ŠTEVILČNO podatkovni tipi, ki obravnavajo vrednosti, na katerih se izvajajo matematične operacije.
- BOOLEAN podatkovni tipi, ki obravnavajo vrednosti, na katerih se izvajajo logične operacije.
- ZNAK podatkovni tipi, ki obravnavajo vrednosti, sestavljene iz alfanumeričnih.
- DATUM ČAS podatkovni tipi.
Numerične vrste podatkov
Numerični podatkovni tip PL / SQL je sestavljen iz naslednjega:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DECIMALNO
- ŠTEVILČNO
- ŠTEVILO
- FLOAT
- INT
- INTEGER
- DVOJNA PRECIZNOST
- REALNO
- TRAG
- DEC
Delček kode s številskimi podatkovnimi vrstami:
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; /V zgornji kodi imamo podatkovne tipe INTEGER, NUMBER in DOUBLE PRECISION s spremenljivkami numA, numB in numC. numB ima številčni podatkovni tip z natančnostjo 10 in nima številk za decimalno številko.
Rezultat zgornje kode mora biti:

Vrste podatkov o znakih
Podatkovni tipi znakov PL / SQL vključujejo naslednje, kot je navedeno spodaj:
# 1) VARCHAR2: Ta podatkovni tip bo shranil niz, vendar dolžina niza ni določena v času deklaracije. Varchar2 ima največjo dovoljeno velikost do 32767 bajtov. Največja širina stolpca baze podatkov varchar2 je 4000 bajtov.
Sintaksa:
preizkusite VARCHAR2 (20): = 'SoftwareTest';
# 2) CHAR: Ta podatkovni tip bo shranil niz, vendar je dolžina niza določena v času deklaracije. Znak ima največjo dovoljeno velikost do 32767 bajtov. Največja širina stolpca baze podatkov char je 2000 bajtov.
Sintaksa:
preizkus CHAR2 (20): = 'SoftwareTest';
# 3) NCHAR: To je podobno kot CHAR, vendar bo shranilo samo nacionalni nabor znakov. NCHAR ima največjo dovoljeno velikost do 32767 bajtov. Največja širina stolpca baze podatkov NCHAR je 2000 bajtov.
Sintaksa:
test NCHAR2 (20);
# 4) LONG: To bo shranilo nize znakov spremenljive dolžine. Dolžina je največja do 32760 bajtov.
Sintaksa:
preizkus LONG;
# 5) DOLGA VRSTA: Tako bodo podatki shranjeni v binarni obliki ali v bajtnih nizih. Dolga vrstica ima največjo dovoljeno velikost do 32760 bajtov.
podpira vprašanja in odgovore na razgovore s tehnikom
Sintaksa:
preizkusite LONG ROW;
# 6) ROWID: To so fizični identifikatorji vrstice, ki kaže na naslov vrstice v običajni tabeli.
# 7) UROWID: To so univerzalni identifikatorji vrstic.
# 8) NVARCHAR2: To je podobno kot VARCHAR2, vendar bo shranilo samo nacionalni nabor znakov. Največja širina stolpca baze podatkov nvarchar2 je 4000 bajtov.
# 9) VARCHAR: To je podobno kot VARCHAR2.
Sintaksa:
preizkusite VARCHAR2 (20): = 'SoftwareTest';
Pogovorimo se zdaj o tipih podatkov PL / SQL v obliki tabele.
| Sl št. | Tip podatkov | Opis |
|---|---|---|
| 7. | DOLGA | To je podobno kot LONG. PL / SQL teh podatkov ne razlaga. |
| eno | VARCHAR2 | Uporablja se za shranjevanje podatkov o znakih s spremenljivo dolžino. Velikost je nastavljena za spremenljivke v času izjave. Za učinkovito uporabo pomnilnika je vedno priporočljivo uporabljati VARCHAR2. |
| dva | CHAR | Uporablja se za shranjevanje podatkov o znakih, ki so fiksne dolžine. Velikost je nastavljena za spremenljivke v času izjave. Vedno je priporočljivo uporabiti CHAR, kadar želite uporabiti podatke določene velikosti. |
| 3. | VARCHAR | To je podobno kot VARCHAR2. Med izvajanjem kode je vedno priporočljivo uporabljati VARCHAR. |
| 4. | NCHAR | Uporablja se za shranjevanje podatkov o znakih, ki so fiksnih podatkov o nacionalnih znakih. Nabor znakov je UTF 8 ali UTF 16. Vedno je priporočljivo pretvoriti CHAR v NCHAR. Toda pretvorba NCHAR v CHAR lahko privede do okrnitve podatkov. |
| 5. | NVARCHAR2 | Uporablja se za shranjevanje podatkov o znakih, ki imajo spremenljive podatke o nacionalnih znakih. To je podobno kot VARCHAR2. Nabor znakov je UTF 8 ali UTF 16. Vedno je priporočljivo pretvoriti VARCHAR2 v NVARCHAR2. Toda pretvorba NVARCHAR2 v VARCHAR2 lahko privede do okrnitve podatkov. |
| 6. | DOLGA | To se uporablja v podatkovnem slovarju. To se v glavnem uporablja pri podatkih nabora znakov. |
Logične vrste podatkov
Ti podatkovni tipi PL / SQL se lahko uporabljajo za shranjevanje logičnih vrednosti. TRUE, FALSE in NULL so logične vrednosti.
SQL nima podatkovnih tipov BOOLEAN. Zato se jim moramo izogibati v naslednjih scenarijih:
- Stavki PL / SQL, ustvarjeni iz SQL.
- Privzete funkcije PL / SQL.
- Običajni stavki SQL.
Sintaksa:
test Boolean;Rezultat preskusne spremenljivke bo TRUE ali FALSE, odvisno od določenih meril.
Vrste podatkov o datumu in času
Ti podatki se uporabljajo za konstantno dolžino datuma in časa. Ustrezni razpon datumov se začne od 1. januarja 4712 pred našim štetjem do 31. decembra 9999 našega štetja, čas pa je določen v sekundah. Vgrajena oblika datuma je DD-MON-YY, kar pomeni dvomestne številke, dodeljene za dan v mesecu, na kratko ime meseca in nato zadnji dve številki leta.
DATUM je sestavljen iz sekunde, minute, dneva, ure, meseca, leta in stoletja. Vsako od teh polj ima določen poseben obseg, kot je navedeno spodaj:
- DRUGI: Določena je v območju od 00 do 59,9.
- MINUTA: Določen je v območju od 00 do 59.
- URA: Določena je v območju od 00 do 23.
- DAN: Določen je v območju od 01 do 31.
- MESEC: Določena je v območju od 01 do 12.
- LETO: Določen je v območju od -4712 do 9999 (ki ne vključuje 0).
- TIMEZONE_HOUR: Določena je v območju od -12 do 14.
- TIMEZONE_MINUTE: Določen je v območju 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'Tu smo s simboli opisali časovni pas. Specifikacija ZDA / Pacifika ali PDT se uporablja za določitev določenega časovnega pasu. Obrazec PDT se večinoma uporablja, saj daje smernice med prehodom na poletni čas.
Vrste podatkov LOB
Pogovorimo se zdaj o tipih podatkov LOB, ki obravnavajo ogromne koščke podatkov, ki jih sestavljajo videoposnetki, zvoki, grafike, slike itd.
Podatkovni tipi LOB imajo številne prednosti pred dolgimi tipi podatkov. Spodaj so navedeni:
- Long lahko sprejme 2 GB, LOB pa 128TB.
- Tabela ima lahko en stolpec tipa LONG, medtem ko je lahko veliko stolpcev podatkovnega tipa LOB.
- Podatkovni tip LOB neprestano izboljšuje in posodablja Oracle, medtem ko podatkovni tip LONG nima veliko izboljšav in posodobitev.
Podatki o vrstah LOB so navedeni spodaj:
- DATOTEK: Uporablja se za shranjevanje nestrukturiranih podatkov v binarni obliki iz baze podatkov kot datoteke operacijskega sistema.
- NCLOB: Ta se uporablja za shranjevanje ogromnih podatkov NCHAR v zbirki podatkov.
- CLOB: Uporablja se za shranjevanje ogromnih podatkov vrste znakov v zbirki podatkov.
Sintaksa:
Binarni CLOB;
- BLOB: Ta se uporablja za shranjevanje ogromnih binarnih podatkov v zbirki podatkov.
Sintaksa:
Binarni BLOB;
Izvajanje kode z nekaterimi vrstami podatkov:
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; /Rezultat zgornje kode mora biti:

Spremenljivke PL SQL
Imena spremenljivk PL / SQL sledijo pravilu poimenovanja, ki je sestavljeno iz alfanumeričnih znakov, ki niso daljši od trideset. PL / SQL ne razlikuje med velikimi in malimi črkami in ključnih besed ne bi smeli uporabljati kot spremenljivke.
Ime spremenljivke mora biti smiselno in mu lahko sledi podčrtaj (_), številka ali dolar ($).
Izjava spremenljivke PL SQL
Spremenljivke PL / SQL morajo biti na voljo v območju deklaracije ali v paketu kot globalna spremenljivka. PL / SQL rezervira pomnilnik za spremenljivke in mesto pomnilnika je določeno z imenom spremenljivke.
Sintaksa za deklaracijo spremenljivke:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)Tu je ime_premenljivke verodostojni identifikator PL / SQL in podatkovni tip je lahko uporabniško določen ali potrjen podatkovni tip PL / SQL.
Izvedba kode za deklaracijo spremenljivke:
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;Rezultat zgornje kode mora biti:

Prosimo, upoštevajte, omenili smo natančnost in velikost podatkovnega tipa števila. To je znano kot omejena izjava. Ta vrsta deklaracije porabi manj pomnilnika.
Inicializacija spremenljivk PL / SQL
PL / SQL privzeto sprejme vrednost spremenljivke kot NULL. Če pa spremenljivke ne želimo inicializirati z NULL, je to mogoče doseči z uporabo ključne besede DEFAULT ali z operaterjem dodelitve.
Sintaksa:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';Določimo lahko tudi, da spremenljivka ne sme imeti vrednosti NULL, če omenimo omejitev NOT NULL. Če pa uporabimo omejitev NOT NULL, moramo spremenljivki nastaviti vrednost.
Izvedba kode z inicializacijo spremenljivke:
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; /Rezultat zgornje kode mora biti:

Izvajanje kode s konceptom dodelitve:
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; /Tu se za dodelitev vrednosti spremenljivki uporablja operator dodelitve (=).
Rezultat zgornje kode mora biti:

Spremenljiv obseg PL / SQL
Blok PL / SQL ima lahko notranje bloke kode. Če je spremenljivka, ki je deklarirana, del notranjega bloka, je zunanji blok ne more uporabiti. Toda s spremenljivko, ki je del zunanjega bloka, je mogoče manipulirati v notranjem bloku kode.
Te vrste spremenljivk so opisane spodaj:
- Globalne spremenljivke: Spremenljivke, ki so deklarirane v zunanjem bloku ali paketu.
- Lokalne spremenljivke: Spremenljivke, ki so deklarirane v notranjem bloku kode in do njih ni mogoče dostopati iz zunanjega bloka.
Izvajanje kode z globalnimi in lokalnimi spremenljivkami:
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; /Rezultat zgornje kode mora biti:

Prosimo, upoštevajte da je izhod tukaj, spremenljivka Global: 10 (zaradi globalne spremenljivke val) in 'Lokalna spremenljivka je: 100 (zaradi lokalne spremenljivke val).
Sidro PL / SQL
Sidra PL / SQL so definirana s ključno besedo% TIP, da razglasijo spremenljivke s podatkovnim tipom, povezanim s podatkovnim tipom določenega stolpca tabele.
Delček kode s sidrom:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /Tu imamo tabelo RESIDENT in imamo opravka s stolpcema NAME in ADDRESS te tabele.
Konstante v PL / SQL
Konstanta ohrani vrednost, ki je bila v programu razglašena za nespremenjeno.
Stalna izjava PL / SQL
The KONSTANTNO Ključna beseda se uporablja za določanje konstant v programu. Začne se z vnaprej določeno vrednostjo, ki ostane enaka v celotnem programu.
Sintaksa za deklaracijo spremenljivke:
const_name CONSTANT data type := valIzvajanje kode s konstanto:
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; /Rezultat zgornje kode mora biti:

Literale v PL SQL
Vrednost logične, številske ali nizovne vrednosti, ki ni definirana z identifikatorjem PL / SQL, se imenuje literal. Dobesedna črka razlikuje med velikimi in malimi črkami in je naslednjih vrst:
- Logični literali ( Na primer - FALSE, TRUE)
- Znakovni literali ( Na primer - „s“, „7“, „)“)
- String Literals ( Na primer - „preizkus programske opreme“)
- Številski slovniki ( Na primer - 78, 04, 6.3)
- DATUM in Časovni slovniki ( Na primer - '25 -05-2012 ')
Pogosta vprašanja in odgovori
Q # 1) Kateri so podatkovni tipi v PL SQL?
Odgovor: Podatkovni tipi PL SQL so sestavljeni in skalarni. Tipi skalarnih podatkov lahko vsebujejo posamezne vrednosti, kot so znak, število, logična vrednost in datum. Medtem ko sestavljeni podatkovni tipi shranjujejo več kot eno vrednost, kot sta zbiranje in snemanje.
Q # 2) Kaj je spremenljivka PL / SQL?
Odgovor: Spremenljivka PL SQL je ime, ki razvijalcu pomaga začasno shranjevanje podatkov med izvajanjem programa. To je smiselno ime, dodeljeno območju shranjevanja. Vse spremenljivke v PL / SQL pripadajo določenemu tipu podatkov.
V # 3) Kako prenesti parameter datuma v PL / SQL?
Odgovor: Parameter datuma lahko v PL / SQL posredujemo s pomočjo ključne besede DATE. Sledi določeni obliki zapisa kot „LLLL-MM-DD“.
Q # 4) Kako razglasite konstanto v PL / SQL?
Odgovor: Konstanto v PL / SQL lahko razglasimo s pomočjo ključne besede CONSTANT. Po CONSTANT moramo omeniti vrednost, ki ji je dodeljena. Ta vrednost ostane nespremenjena v celotnem programu.
V # 5) Koliko vrst dobesednih besed je na voljo v PL / SQL?
Odgovor: Tipi dobesednih besed v PL / SQL so Number, DateTime, Text in Integer.
Q # 6) Ali spremenljivke PL SQL razlikujejo med velikimi in malimi črkami?
Odgovor: Spremenljivke PL SQL, vključno z rezerviranimi besedami, ne razlikujejo med velikimi in malimi črkami. Na primer, ZAČNITE in začnite, oba imata isti namen.
Zaključek
Velik del PL / SQL, ki obravnava teme, kot so različni uporabljeni tipi podatkov in njihov pomen ter spremenljivke PL SQL, bi moral biti zdaj razumljiv po branju te vadnice.
Prav tako smo podrobno raziskali konstante in literale PL SQL. Vsako temo preglejte eno za drugo in počasi boste to obvladali. PL / SQL se danes uporablja v panogah tako za razvoj spleta kot strežnikov.
V naslednji vadnici bomo razpravljali o vstavitvi, posodobitvi, brisanju, izpisu izjave PL / SQL in drugih s tem povezanih temah.
Spremljajmo več delitve znanja.
Priporočeno branje
- Python spremenljivke
- Vrste podatkov Python
- Vrste podatkov in spremenljivke C # s primeri
- Parametrizacija podatkov JMeter z uporabniško določenimi spremenljivkami
- Data Mart Vadnica - Vrste, primeri in izvedba Data Mart
- Vrste podatkov C ++
- Spremenljivke Java in njihove vrste s primeri
- SQL vs NoSQL Natančne razlike in vedeti, kdaj uporabiti NoSQL in SQL