pl sql data types variables
Denne tutorial forklarer, hvad der er PL SQL-datatyper, variabler, konstanter og litteratur i detaljer ved hjælp af programmeringseksempler:
I den foregående tutorial af PL / SQL-serien , vi blev introduceret til PL / SQL med dens funktioner og grundlæggende syntaks med eksempler.
I denne artikel vil vi diskutere de forskellige datatyper, som PL / SQL understøtter. Vi skal også undersøge variablerne og konstanterne, der anvendes i vid udstrækning i PL SQL.
PL / SQL-bogstaver er også vigtige, og vi lærer om det i denne vejledning sammen med dets praktiske anvendelse.
Hvad du vil lære:
Pl SQL datatyper
Alle variabler, konstanter, parametre for PL / SQL har en bestemt datatype, der definerer dens rækkevidde af værdier, begrænsninger og det format, de er lagret i. PL / SQL indeholder datatyperne som Large Object, også kendt som LOB, Scalar, Reference og Composite.
Skalar datatyper
Lad os først diskutere Scalar Data Typer, der består af følgende:
- NUMERISK datatyper, der beskæftiger sig med værdier, som matematiske operationer udføres på.
- BOOLEAN datatyper, der beskæftiger sig med de værdier, som logiske operationer udføres på.
- KARAKTER datatyper, der beskæftiger sig med værdier, der består af alfanumeriske.
- DATO TID datatyper.
Numeriske datatyper
Den numeriske datatype for PL / SQL består af følgende:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- AFGØRELSE
- NUMERISK
- NUMMER
- FLYDE
- INT
- HELTAL
- DOBBEL PRÆCISION
- ÆGTE
- SMALLINT
- DEC
Kodestykke 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 ovenstående kode har vi INTEGER, NUMBER og DOUBLE PRECISION datatyper med henholdsvis variablerne numA, numB og numC. numB har en taldatatype med præcision 10 og har ingen cifre efter decimal.
Output af ovenstående kode skal være:
Karakterdata typer
Tegndatatyperne for PL / SQL består af følgende som angivet nedenfor:
# 1) VARCHAR2: Denne datatype gemmer streng, men strenglængden er ikke fast på erklæringstidspunktet. Varchar2 har en maksimal størrelse på op til 32767 bytes. Den maksimale bredde på en varchar2-databasesøjle er 4000 byte.
Syntaks:
test VARCHAR2 (20): = ‘SoftwareTest’;
# 2) CHAR: Denne datatype gemmer streng, men strenglængden er fast på erklæringstidspunktet. Char har en maksimal størrelse på op til 32767 bytes. Den maksimale bredde af en char-databasekolonne er 2000 byte.
Syntaks:
test CHAR2 (20): = ‘SoftwareTest’;
# 3) NCHAR: Dette svarer til CHAR, men det gemmer kun det nationale tegnsæt. NCHAR har en maksimal størrelse på op til 32767 bytes. Den maksimale bredde på en NCHAR-databasesøjle er 2000 byte.
Syntaks:
test NCHAR2 (20);
# 4) LANG: Dette gemmer tegnstrenge med variabel længde. Den lange har en maksimal størrelse op til 32760 bytes.
Syntaks:
test LANG;
# 5) LANG RÆK: Dette gemmer data i binært format eller byte-strenge. Den lange række har en maksimal størrelse på op til 32760 bytes.
hvordan man laver et generisk array i java
Syntaks:
test LANG RÅDE;
# 6) ROWID: Dette er de fysiske identifikatorer for en række, der peger på adressen på en række i en normal tabel.
# 7) UROWID: Dette er de universelle identifikatorer for rækker.
# 8) NVARCHAR2: Dette svarer til VARCHAR2, men det gemmer kun det nationale tegnsæt. Den maksimale bredde af en nvarchar2-databasesøjle er 4000 byte.
# 9) VARCHAR: Dette svarer til VARCHAR2.
Syntaks:
test VARCHAR2 (20): = ‘SoftwareTest’;
Lad os nu diskutere karakterdatatyperne for PL / SQL i tabelformat.
Sl nr. | Datatype | Beskrivelse |
---|---|---|
7 | LANGRÅDE | Dette svarer til LONG. Disse data fortolkes ikke af PL / SQL. |
1 | VARCHAR2 | Dette bruges til lagring af karakterdata, der har variabel længde. Størrelsen indstilles for variablerne på erklæringstidspunktet. Det anbefales altid at bruge VARCHAR2 til effektiv hukommelsesforbrug. |
to | CHAR | Dette bruges til lagring af karakterdata, der har en fast længde. Størrelsen indstilles for variablerne på erklæringstidspunktet. Det anbefales altid at bruge CHAR, når data i fast størrelse skal bruges. |
3 | VARCHAR | Dette svarer til VARCHAR2. Det anbefales altid at bruge VARCHAR under implementeringen af koden. |
4 | NCHAR | Dette bruges til lagring af karakterdata, der har nationale karakterdata med fast længde. Tegnsættet er enten UTF 8 eller UTF 16. Det anbefales altid at konvertere CHAR til NCHAR. Men konvertering af NCHAR til CHAR kan føre til datatununering. |
5 | NVARCHAR2 | Dette bruges til lagring af tegndata, der har nationale karakterdata med variabel længde. Dette svarer til VARCHAR2. Tegnsættet er enten UTF 8 eller UTF 16. Det anbefales altid at konvertere VARCHAR2 til NVARCHAR2. Men konvertering af NVARCHAR2 til VARCHAR2 kan føre til datatununering. |
6 | LANG | Dette bruges i en dataordbog. Dette bruges primært i tegnsætdata. |
Boolske datatyper
Disse datatyper af PL / SQL kan bruges til lagring af logiske værdier. SAND, FALSK og NULL er de boolske værdier.
SQL har ikke BOOLEAN-datatyper. Så vi er nødt til at undgå dem i følgende scenarier:
- PL / SQL-udsagn genereret fra SQL.
- Standardfunktioner for PL / SQL.
- Normale SQL-sætninger.
Syntaks:
test Boolean;
Outputet af testvariablen vil være SAND eller FALSK afhængigt af visse kriterier.
Datatid Datatyper
Disse datatyper bruges til konstante længder af dato og klokkeslæt. Det rette datointerval starter fra 1. januar 4712 f.Kr. til 31. december 9999 e.Kr., og tiden defineres i sekunder. Det indbyggede datoformat er DD-MON-YY, hvilket indebærer to cifre tildelt for månedsdagen, kort navn på året og derefter de sidste to cifre i året.
En DATO består af andet, minut, dag, time, måned, år og århundrede. Hvert af disse felter har et defineret specifikt område som angivet nedenfor:
- SEKUND: Det er defineret fra 00 til 59,9.
- MINUT: Det er defineret i området fra 00 til 59.
- TIME: Det er defineret i området fra 00 til 23.
- DAG: Det er defineret i området fra 01 til 31.
- MÅNED: Det er defineret i området fra 01 til 12.
- ÅR: Det er defineret i området fra -4712 til 9999 (som ikke inkluderer 0).
- TIMEZONE_HOUR: Det er defineret i området fra -12 til 14.
- TIMEZONE_MINUTE: Det er defineret 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 tidszonen ved hjælp af symboler. US / Pacific eller PDT-specifikation bruges til at definere en bestemt tidszone. PDT-formular bruges mest, da den giver retningslinjerne, mens du skifter til sommertid.
LOB-datatyper
Lad os nu diskutere LOB-datatyperne, der beskæftiger sig med enorme klumper af data, der består af videoer, lyde, grafik, billeder osv.
LOB-datatyper har adskillige fordele i forhold til lange datatyper. De er anført nedenfor:
- Lang kan rumme 2 GB, mens LOB kan rumme 128 TB.
- En tabel kan have en enkelt kolonne af typen LONG, mens der kan være adskillige kolonner af datatypen LOB.
- LOB-datatype gennemgår konstant forbedringer og opdateringer fra Oracle, mens LONG-datatypen ikke har mange forbedringer og opdateringer.
LOB-datatyper er angivet nedenfor:
- BFIL: Dette bruges til at holde ustrukturerede data i binært format ud af databasen som en operativsystemfil.
- NCLOB: Dette bruges til at opbevare enorme NCHAR-data i databasen.
- CLOB: Dette bruges til at gemme store data af karaktertype i databasen.
Syntaks:
Binær CLOB;
- BLOB: Dette bruges til at opbevare enorme binære data i databasen.
Syntaks:
Binær BLOB;
Kodeimplementering med nogle 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; /
Output af ovenstående kode skal være:
PL SQL-variabler
PL / SQL-variabelnavne følger navngivningskonventionen, som består af alfanumeriske tegn, der ikke må være mere end tredive. PL / SQL er store og små bogstaver, og nøgleordene bør ikke bruges som en variabel.
Variabelnavnet skal være meningsfuldt og kan efterfølges af en understregning (_), tal eller dollar ($).
PL SQL-variabel erklæring
Variabler af PL / SQL skal være tilgængelige i deklarationsområdet eller være til stede i en pakke som en global variabel. PL / SQL reserverer hukommelse til variablerne, og lagerets placering er defineret af variabelnavnet.
Syntaks til variabel erklæring:
variable_name [CONSTANT] datatype [NOT NULL] [:= | DEFAULT initial_value]
Her er variabelnavn et autentisk PL / SQL-id, og datatypen kan være en brugerdefineret eller en bekræftet PL / SQL-datatype.
Kodeimplementering til variabel erklæring:
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;
Output af ovenstående kode skal være:
Bemærk venligst, Vi har nævnt både præcisionen og størrelsen på nummerdatatypen. Dette er kendt som den begrænsede erklæring. Denne type erklæring bruger mindre hukommelse.
Initialisering af PL / SQL-variabel
Som standard tager PL / SQL værdien af en variabel som NULL. Men hvis vi ikke ønsker at initialisere en variabel med NULL, kan det opnås ved enten at bruge nøgleordet STANDARD eller med tildelingsoperatøren.
Syntaks:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Vi kan også definere, at en variabel ikke skal have NULL-værdi ved at nævne IKKE NULL-begrænsning. Men hvis IKKE NULL-begrænsningen bruges, skal vi indstille en værdi for variablen.
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; /
Output af ovenstående kode skal være:
Kodeimplementering med Tildelingskoncept:
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 bruges tildelingsoperatøren (=) til at tildele værdier til variablen.
Output af ovenstående kode skal være:
PL / SQL-variabelt anvendelsesområde
En PL / SQL-blok kan have indre blokke af kode. Hvis en variabel, der er deklareret, er en del af den indre blok, kan den ikke bruges af den ydre blok. Men en variabel, der er en del af den ydre blok, kan manipuleres i den indre kode af kode.
Disse typer af variabler er beskrevet nedenfor:
- Globale variabler: De variabler, der er deklareret ved den ydre blok eller pakke.
- Lokale variabler: De variabler, der er erklæret i den indre blok af kode og ikke kan tilgås fra den udvendige blok.
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; /
Output af ovenstående kode skal være:
Bemærk venligst at output her, den globale variabel er: 10 (på grund af den globale variabel val) og ‘Lokal variabel er: 100 (på grund af den lokale variabel val).
PL / SQL-anker
PL / SQL-ankre defineres med nøgleordet% TYPE for at erklære variabler med datatypen forbundet med datatypen i den specifikke kolonne i tabellen.
Kodestykke med anker:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Her har vi en RESIDENT-tabel, og vi har at gøre med kolonnerne NAVN og ADRESSE i denne tabel.
Konstanter i PL / SQL
En konstant holder den værdi, der en gang erklæres uændret i hele programmet.
PL / SQL konstant erklæring
Det KONSTANT nøgleord bruges til at definere konstanter i programmet. Det starter med en foruddefineret værdi, der forbliver den samme i hele programmet.
Syntaks til variabel erklæring:
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; /
Output af ovenstående kode skal være:
Litteratur i PL SQL
En boolsk, numerisk eller en strengværdi, der ikke er defineret af en PL / SQL-identifikator, kaldes en bogstavelig. Bogstavene er store og små bogstaver og er af følgende typer som angivet nedenfor:
- Boolske bogstaver [ For eksempel - FALSK, SAND]
- Tegnbogstaver [ For eksempel - 's', '7', ')']
- Strenglitteratur [ For eksempel - 'Softwaretest']
- Numeriske bogstaver [ For eksempel - 78, 04, 6.3]
- DATO og tidslitteratur [ For eksempel - ’25 -05-2012 ’]
Ofte stillede spørgsmål og svar
Q # 1) Hvad er datatyperne i PL SQL?
Svar: PL SQL-datatyperne er sammensatte og skalære. De skalære datatyper kan indeholde enkeltværdier som Character, Number, Boolean og DateTime. Mens de sammensatte datatyper gemmer mere end en værdi som indsamling og registrering.
Q # 2) Hvad er PL / SQL-variablen?
Svar: En PL SQL-variabel er et navn, der hjælper en udvikler med at gemme data midlertidigt under programudførelse. Det er et meningsfuldt navn, der er tildelt lagerområdet. Alle variabler i PL / SQL hører til en bestemt datatype.
Q # 3) Hvordan overføres en datoparameter i PL / SQL?
Svar: Vi kan videregive en datoparameter i PL / SQL ved hjælp af DATE-nøgleordet. Det 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 hjælp af nøgleordet CONSTANT. Efter CONSTANT skal vi nævne den værdi, der tildeles den. Denne værdi forbliver fast i hele programmet.
Q # 5) Hvor mange typer bogstaver er tilgængelige i PL / SQL?
Svar: Typerne af bogstaver i PL / SQL er Number, DateTime, Text og Integer.
Q # 6) Er PL SQL-variabler store og små bogstaver?
Svar: PL SQL-variabler inklusive de reserverede ord er ikke store og små bogstaver. For eksempel, BEGIN og start begge tjener det samme formål.
Konklusion
En stor del af PL / SQL, der beskæftiger sig med emner som de forskellige datatyper, der er anvendt, og deres betydning og variablerne i PL SQL bør være forståelige nu efter at have læst denne vejledning.
Vi har også undersøgt PL SQL-konstanter og bogstaver i detaljer. Gå gennem hvert af emnerne en efter en, og langsomt vil du mestre dette. PL / SQL bruges i dag til både web- og serverudvikling.
I den næste vejledning skal vi diskutere PL / SQL Insert, Update, Delete, Select statement og andre relaterede emner.
Lad os holde øje med mere videndeling.
Anbefalet læsning
- Python-variabler
- Python-datatyper
- C # Datatyper og variabler med eksempler
- JMeter-dataparameterisering ved hjælp af brugerdefinerede variabler
- Data Mart Tutorial - Typer, eksempler og implementering af Data Mart
- C ++ datatyper
- Java-variabler og deres typer med eksempler
- SQL vs NoSQL Præcise forskelle og vide, hvornår man skal bruge NoSQL og SQL