pl sql data types variables
Denne veiledningen forklarer hva som er PL SQL-datatyper, variabler, konstanter og litteratur i detalj ved hjelp av programmeringseksempler:
I forrige opplæring av PL / SQL-serien ble vi introdusert for PL / SQL med funksjonene og grunnleggende syntaksen med eksempler.
I denne artikkelen vil vi diskutere de forskjellige datatypene som PL / SQL støtter. Vi skal også utforske variablene og konstantene som brukes mye i PL SQL.
PL / SQL-bokstaver er også viktige, og vi vil lære om det i denne veiledningen sammen med den praktiske bruken.
Hva du vil lære:
Pl SQL datatyper
Alle variabler, konstanter, parametere for PL / SQL har en bestemt datatype som definerer verdiene, begrensningene og formatet de er lagret i. PL / SQL inneholder datatypene som Large Object, også kjent som LOB, Scalar, Reference og Composite.
Skalar datatyper
La oss først diskutere Scalar Data Typer som består av følgende:
- NUMERISK datatyper som tar for seg verdier som matematiske operasjoner gjøres på.
- BOOLEAN datatyper som tar for seg verdiene som logiske operasjoner utføres på.
- KARAKTER datatyper som tar for seg verdiene som består av alfanumeriske.
- DATO TID datatyper.
Numeriske datatyper
Den numeriske datatypen for PL / SQL består av følgende:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DESIMAL
- NUMERISK
- NUMMER
- FLYTE
- INT
- INTEGER
- DOBBEL PRESISJON
- EKTE
- SMALLINT
- DEC
Kodebit med numeriske datatyper:
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; /
I koden ovenfor har vi datatyper INTEGER, NUMBER og DOUBLE PRECISION med henholdsvis variablene numA, numB og numC. numB har en talldatatype med presisjon 10 og har ingen sifre etter desimal.
Resultatet av ovennevnte kode skal være:
Karakterdata typer
Tegndatatypene for PL / SQL består av følgende som er oppført nedenfor:
# 1) VARCHAR2: Denne datatypen lagrer streng, men strenglengden er ikke fast på erklæringstidspunktet. Varchar2 har en maksimal størrelse på opptil 32767 byte. Maksimal bredde på en varchar2-databasekolonne er 4000 byte.
Syntaks:
test VARCHAR2 (20): = ‘SoftwareTest’;
# 2) CHAR: Denne datatypen lagrer streng, men strenglengden er fast på erklæringstidspunktet. Røya har en maksimal størrelse på opptil 32767 byte. Maksimal bredde på en char-databasekolonne er 2000 byte.
Syntaks:
test CHAR2 (20): = ‘SoftwareTest’;
# 3) NCHAR: Dette ligner på CHAR, men det lagrer bare det nasjonale tegnsettet. NCHAR har en maksimal størrelse på opptil 32767 byte. Maksimal bredde på en NCHAR-databasekolonne er 2000 byte.
Syntaks:
test NCHAR2 (20);
# 4) LANG: Dette lagrer tegnstrenger med variabel lengde. Den lange har en maksimal størrelse på opptil 32760 byte.
Syntaks:
test LANGT;
# 5) LANG RAD: Dette lagrer data i binært format eller byte-strenger. Den lange raden har en maksimal størrelse på opptil 32760 byte.
hvordan starte karriere innen programvaretesting
Syntaks:
test LANG RAD;
# 6) ROWID: Dette er de fysiske identifikatorene for en rad som peker til adressen til en rad i en normal tabell.
# 7) UROWID: Dette er de universelle identifikatorene for rader.
# 8) NVARCHAR2: Dette ligner på VARCHAR2, men det lagrer bare det nasjonale tegnsettet. Maksimal bredde på en nvarchar2-databasekolonne er 4000 byte.
# 9) VARCHAR: Dette ligner på VARCHAR2.
Syntaks:
test VARCHAR2 (20): = ‘SoftwareTest’;
La oss nå diskutere karakterdatatypene for PL / SQL i tabellformat.
Sl nr. | Data-type | Beskrivelse |
---|---|---|
7 | LANGRE | Dette ligner på LANG. Disse dataene tolkes ikke av PL / SQL. |
en | VARCHAR2 | Dette brukes til å lagre karakterdataene som har variabel lengde. Størrelsen er satt for variablene på erklæringstidspunktet. Det anbefales alltid å bruke VARCHAR2 for effektiv minnebruk. |
to | CHAR | Dette brukes til å lagre karakterdataene som har fast lengde. Størrelsen er satt for variablene på erklæringstidspunktet. Det anbefales alltid å bruke CHAR når dataene i fast størrelse skal brukes. |
3 | VARCHAR | Dette ligner på VARCHAR2. Det anbefales alltid å bruke VARCHAR under implementeringen av koden. |
4 | NCHAR | Dette brukes til å lagre karakterdata som har nasjonale karakterdata med fast lengde. Tegnsettet er enten UTF 8 eller UTF 16. Det anbefales alltid å konvertere CHAR til NCHAR. Men å konvertere NCHAR til CHAR kan føre til datatunskering. |
5 | NVARCHAR2 | Dette brukes til å lagre tegndataene som har nasjonale karakterdata med variabel lengde. Dette ligner på VARCHAR2. Tegnsettet er enten UTF 8 eller UTF 16. Det anbefales alltid å konvertere VARCHAR2 til NVARCHAR2. Men konvertering av NVARCHAR2 til VARCHAR2 kan føre til datatunksjon. |
6 | LANG | Dette brukes i en dataordbok. Dette brukes primært i tegnsettdata. |
Boolske datatyper
Disse datatypene PL / SQL kan brukes til å lagre logiske verdier. SANN, FALSK og NULL er de boolske verdiene.
SQL har ikke BOOLEAN-datatyper. Så vi må unngå dem i følgende scenarier:
- PL / SQL-setninger generert fra SQL.
- Standardfunksjoner for PL / SQL.
- Vanlige SQL-setninger.
Syntaks:
test Boolean;
Resultatet av testvariabelen vil være SANT eller FALSE, avhengig av visse kriterier.
Datatid Datatyper
Disse datatypene brukes for konstante lengder på dato og tid. Riktig datoperiode starter fra 1. januar 4712 f.Kr. til 31. desember 9999 e.Kr., og tiden er definert i sekunder. Det innebygde datoformatet er DD-MON-YY, som innebærer tosifrede tildelte for dagen i måneden, kort sagt månedens navn, og deretter de to siste sifrene i året.
En DATO består av andre, minutt, dag, time, måned, år og århundre. Hvert av disse feltene har et definert spesifikt område som listet opp nedenfor:
- SEKUND: Det er definert fra 00 til 59,9.
- MINUTT: Den er definert i området fra 00 til 59.
- TIME: Det er definert i området fra 00 til 23.
- DAG: Det er definert i området fra 01 til 31.
- MÅNED: Det er definert i området fra 01 til 12.
- ÅR: Den er definert i området fra -4712 til 9999 (som ikke inkluderer 0).
- TIMEZONE_HOUR: Det er definert i området fra -12 til 14.
- TIMEZONE_MINUTE: Den er definert i området fra 00 til 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Syntaks:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Her har vi beskrevet tidssonen ved hjelp av symboler. US / Pacific eller PDT-spesifikasjon brukes til å definere en bestemt tidssone. PDT-skjema brukes mest siden det gir retningslinjene mens du bytter til sommertid.
LOB datatyper
La oss nå diskutere LOB-datatypene som tar for seg store deler av data som består av videoer, lyder, grafikk, bilder og så videre.
LOB-datatyper har mange fordeler fremfor lange datatyper. De er listet opp nedenfor:
- Long har plass til 2 GB, mens LOB har plass til 128 TB.
- En tabell kan ha en enkelt kolonne av typen LONG mens det kan være mange kolonner av datatypen LOB.
- LOB-datatype gjennomgår stadig forbedringer og oppdateringer fra Oracle mens LONG datatype ikke har mange forbedringer og oppdateringer.
LOB-datatyper er oppført nedenfor:
- BFIL: Dette brukes til å holde ustrukturerte data i binært format ut av databasen som en operativsystemfil.
- NCLOB: Dette brukes til å holde enorme NCHAR-data i databasen.
- CLOB: Dette brukes til å holde enorme data av karaktertype i databasen.
Syntaks:
Binær CLOB;
- BLOB: Dette brukes til å holde store binære data i databasen.
Syntaks:
Binær BLOB;
Kodeimplementering med noen datatyper:
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; /
Resultatet av ovennevnte kode skal være:
PL SQL-variabler
Navn på PL / SQL-variabler følger navngivningskonvensjonen som består av alfanumeriske tegn ikke mer enn tretti. PL / SQL er ikke store og små bokstaver, og nøkkelordene skal ikke brukes som en variabel.
Variabelnavnet skal være meningsfylt og kan følges av et understrek (_), tall eller dollar ($).
PL SQL-variabelerklæring
Variabler av PL / SQL må være tilgjengelige i erklæringsområdet eller være tilstede i en pakke som en global variabel. PL / SQL reserverer minne for variablene, og plasseringen av lagringen er definert av variabelnavnet.
Syntaks for variabel deklarasjon:
variable_name (CONSTANT) datatype (NOT NULL) (:= | DEFAULT initial_value)
Her er variabelnavnet en autentisk PL / SQL-identifikator, og datatypen kan være en brukerdefinert eller en bekreftet PL / SQL-datatype.
Kodeimplementering for variabel deklarasjon:
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;
Resultatet av ovennevnte kode skal være:
Vær oppmerksom på vi har nevnt både presisjonen og størrelsen på talldatatypen. Dette er kjent som den begrensede erklæringen. Denne typen erklæring bruker mindre minne.
Initialisering av PL / SQL-variabel
Som standard tar PL / SQL verdien av en variabel som NULL. Men hvis vi ikke ønsker å initialisere en variabel med NULL, kan det oppnås ved å enten bruke nøkkelordet STANDARD eller med oppdragsoperatøren.
Syntaks:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Vi kan også definere at en variabel ikke skal ha NULL-verdi ved å nevne IKKE NULL-begrensning. Imidlertid, hvis IKKE NULL-begrensningen brukes, må vi sette en verdi for variabelen.
Kodeimplementering med variabel initialisering:
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; /
Resultatet av ovennevnte kode skal være:
Kodeimplementering med tildelingskonsept:
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; /
Her brukes oppdragsoperatøren (=) til å tilordne verdier til variabelen.
Resultatet av ovennevnte kode skal være:
Variabel omfang PL / SQL
En PL / SQL-blokk kan ha indre kodeblokker. Hvis en variabel som er erklært, er en del av den indre blokken, kan den ikke brukes av den ytre blokken. Men en variabel som er en del av den ytre blokken kan manipuleres i den indre koden.
Disse variablene er beskrevet nedenfor:
- Globale variabler: Variablene som blir deklarert ved den ytre blokken eller pakken.
- Lokale variabler: Variablene som er erklært i den indre koden, og som ikke kan nås fra den ytre blokken.
Kodeimplementering med globale og lokale variabler:
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; /
Resultatet av ovennevnte kode skal være:
Vær oppmerksom at utgangen her, den globale variabelen er: 10 (på grunn av den globale variabelen val) og ‘Lokal variabel er: 100 (på grunn av den lokale variabelen val).
PL / SQL-anker
PL / SQL-ankere er definert med nøkkelordet% TYPE for å erklære variabler med datatypen som er koblet til datatypen i den spesifikke kolonnen i tabellen.
Kodebit med anker:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Her har vi en RESIDENT-tabell, og vi har å gjøre med kolonnene NAVN og ADRESSE i den tabellen.
Konstanter i PL / SQL
En konstant holder verdien som en gang er erklært uendret gjennom hele programmet.
PL / SQL konstant erklæring
De KONSTANT nøkkelord brukes til å definere konstanter i programmet. Det starter med en forhåndsdefinert verdi som forblir den samme gjennom hele programmet.
Syntaks for variabel deklarasjon:
const_name CONSTANT data type := val
Kodeimplementering med konstant:
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; /
Resultatet av ovennevnte kode skal være:
Bokstaver i PL SQL
En boolsk, numerisk eller en strengverdi som ikke er definert av en PL / SQL-identifikator kalles bokstavelig. Bokstavene er store og små bokstaver og er av følgende typer som er oppført nedenfor:
- Boolske bokstaver ( For eksempel - USANN SANNHET )
- Karakterbokstaver ( For eksempel - ‘s’, ‘7’, ‘)’)
- Strenglitteratur ( For eksempel - ‘Programvaretest’)
- Numeriske bokstaver ( For eksempel - 78, 04, 6.3)
- DATE og tidslitteratur ( For eksempel - ’25 -05-2012 ’)
Ofte stilte spørsmål og svar
Q # 1) Hva er datatypene i PL SQL?
Svar: PL SQL-datatypene er sammensatte og skalære. De skalære datatypene kan inneholde enkeltverdier som Character, Number, Boolean og DateTime. Mens de sammensatte datatypene lagrer mer enn en verdi som innsamling og registrering.
Q # 2) Hva er PL / SQL-variabelen?
Svar: En PL SQL-variabel er et navn som hjelper en utvikler til å lagre data midlertidig under programutførelsen. Det er et meningsfylt navn som er tildelt lagringsområdet. Alle variablene i PL / SQL tilhører en bestemt datatype.
Q # 3) Hvordan overføre en datoparameter i PL / SQL?
Svar: Vi kan sende en dataparameter i PL / SQL ved hjelp av DATE-nøkkelordet. Den følger et fast format som 'ÅÅÅÅ-MM-DD'.
Q # 4) Hvordan erklærer du en konstant i PL / SQL?
Svar: Vi kan erklære en konstant i PL / SQL ved hjelp av nøkkelordet CONSTANT. Etter CONSTANT må vi nevne verdien som tildeles den. Denne verdien forblir fast gjennom hele programmet.
Q # 5) Hvor mange typer bokstaver er tilgjengelige i PL / SQL?
Svar: Typene bokstaver i PL / SQL er Number, DateTime, Text og Integer.
Q # 6) Er PL SQL-variabler store og små bokstaver?
Svar: PL SQL-variabler inkludert de reserverte ordene er ikke store og små bokstaver. For eksempel, BEGIN og begynn begge å tjene samme formål.
Konklusjon
En stor del av PL / SQL som omhandler emner som de forskjellige datatypene som brukes, og deres betydning og variablene til PL SQL, bør være forståelig nå etter å ha lest denne opplæringen.
Vi har også utforsket i detalj PL SQL-konstantene og bokstavene. Gå gjennom hvert av emnene en etter en, og sakte vil du mestre dette. PL / SQL brukes i bransjer for både web- og serverutvikling i våre dager.
I neste opplæring skal vi diskutere PL / SQL Insert, Update, Delete, Select-setningen og andre relaterte emner.
La oss følge med for mer kunnskapsdeling.
Anbefalt lesing
- Python-variabler
- Python datatyper
- C # Datatyper og variabler med eksempler
- JMeter-dataparameterisering ved bruk av brukerdefinerte variabler
- Data Mart Tutorial - Typer, eksempler og implementering av Data Mart
- C ++ datatyper
- Java-variabler og deres typer med eksempler
- SQL vs NoSQL Nøyaktige forskjeller og vet når du skal bruke NoSQL og SQL