Introduktion til PL / SQL-datatyper
Der er ofte et behov for at udføre de samme SQL-forespørgsler flere gange og for at imødekomme dette behov Oracle kommer med PL / SQL i de tidlige 90'ere. Den er udviklet til at forbedre SQL-funktionerne. Det er indlejret i Oracle-databasen. PL / SQL er en udvidelse af det strukturerede forespørgsel i Oracle-databasesystemet. Det er et proceduresprog, der består af tre dele, en deklarativ del, der kan acceptere ethvert antal parametre, en eksekverbar del, der består af SQL-forespørgsler og en undtagelseshåndtering.
PL / SQL gemmes i databasen i en samlet form og kan henvises til i koden med dens navn. PL / SQL giver udvikleren mulighed for at manipulere dataene ved hjælp af enhver beslutningslogik, iteration og mange andre funktioner understøttet af det proceduremæssige programmeringssprog.
Nøglefunktioner i PL / SQL
Nøglefunktioner i PL / SQL er vist nedenfor:
- PL / SQL giver udvikleren mulighed for at udføre ethvert antal forespørgsler i en blok ved hjælp af en enkelt kommando.
- PL / SQL kan fungere som en procedure, funktioner, triggere og typer og gemmes i databasen og kan bruges et antal gange af applikationerne.
- I modsætning til SQL er fejlhåndtering mulig i PL / SQL.
- PL / SQL returnerer en enkelt skalarværdi.
PL / SQL-datatyper
Som ethvert andet sprog har PL / SQL også datatyper. lad os se på nogle af de datatyper, der er defineret i PL / SQL
PL / SQL-datatype |
Beskrivelse |
BINARY_INTEGER | Accepterer heltal numeriske data, signeret heltal i området fra -2.147.483.648 til 2.147.483.647 og repræsenteret i 32 bit |
BLOB | Accepterer binære data |
BLOB (n) | Binære store objektdata, hvor intervallet af n er i mellem 1 til 2 147 483 647 |
BOOLESK | Accepterer enten sandt eller falskt (logiske værdier) |
CHAR | Accepterer strengdata med fast længde 1 |
CHAR (n) | Strengedata med længde n |
CHAR VARYING (n) | Tegnstrengdata med variabel længde, hvor n er den maksimale grænse |
KARAKTER | Det er en karakterstreng med fast længde, og den maksimale størrelse kan være på 32.767 byte. |
KARAKTER (n) | En streng med variabel længde med en maksimal størrelse på n |
DATO | Det bruges til at gemme dato-tid data, der inkluderer felter som et år, måned, dag, time, minut, sekund og mange flere. |
DECIMAL | Accepterer decimaldata med en maksimal præcision på 38 decimaler. |
DOBBELT | Antal flydende punkter med dobbelt præcision |
FLYDE | Flydende punkttype med en maksimal præcision på 126 bit |
INT | det er en syntetisk numerisk data med fire byte |
HELTAL | det er en syntetisk numerisk data med fire byte |
Eksempler på PL / SQL-datatyper
Indtil videre har vi set de forskellige datatyper tilgængelige i PL / SQL, lad os se på nogle af eksemplerne og se, hvordan kan vi oprette og udføre lagrede procedurer i PL / SQL
Procedurer i PL / SQL er et underprogram, der består af SQL-sætninger, procedurerne i Oracle gemmes som et databaseobjekt og har et unikt navn, som det kan henvises til. Proceduren kan have en indlejret blok, der giver udvikleren mulighed for at udføre alle logiske og aritmetiske operationer på dataene.
Lad os se på syntaks for den gemte procedure
Syntaks:
Opret eller udskift procedure
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
Syntaksforklaring:
- Opret eller udskift nøgleord instruerer kompilatoren om at oprette et databaseobjekt med det navn, der er angivet i proceduren. Procesnavnet skal være unikt, ellers vil compileren kaste en fejl.
- Nu hvor du har en idé om procedurens syntaks, lad os skrive en meget enkel lagret procedure og forstå de forskellige komponenter i den.
- Som ethvert andet programmeringssprog starter vi med et meget simpelt Hello World-program. Denne lagrede procedure tager navnet som input og viser resultatet som Hello World fra
Opret eller udskift PROCEDURE Udskriv_Meddelelse (p_navn I VARCHAR2)
Kode:
IS
BEGIN
dbms_output.put_line ('Hello World from '|| p_name);
END;
/
EXEC Print_Message ('Mohit');
Kode forklaring:
- Her har den første linje et nøgleord Opret eller erstat, som instruerer kompilatoren til enten at oprette en lagret procedure med et navn Print_Message, der tager en Varchar2 som input eller erstatte den eksisterende lagrede procedure med samme navn.
- Linjen dbms_output.put_line sammenkæder Hello World fra meddelelsen med det input, som du videregiver til proceduren, og viser det på konsollen.
- For at kalde en gemt procedure bruges EXEC-nøgleord fulgt af parameterværdierne i de samme datatyper som defineret i den lagrede procedure.
Funktioner i PL / SQL
Funktion i PL / SQL ligner meget den lagrede procedure, den eneste store forskel er, at en funktion skal have en returværdi. Det skal enten returnere en værdi eller skabe en undtagelse. Lad os se nogle af egenskaberne ved funktionerne i PL / SQL
- Funktioner, der hovedsageligt bruges til datamanipulation, kan lide at udføre grundlæggende logiske og aritmetiske beregninger.
- En typisk funktionsstruktur har 3 dele, dvs. en erklæringsdel, eksekveringsdel og undtagelsesfejlhåndtering.
- Hvis funktionen ikke har nogen DML-sætning i sig, kan den kaldes af den valgte sætning.
lad os se syntaks af funktionerne
Syntaks:
Opret eller udskift funktionalitet
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
Syntaksforklaring:
- Opret et funktionsnøgleord, der instruerer kompilatoren om at oprette en funktion, hvis den ikke allerede er til stede. Returdatatypen er obligatorisk, igen skal funktionsnavnet være unikt.
- Undtagelseshåndteringsblok er valgfri, men det anbefales altid at have den.
Konklusion
Lad os nu pakke op ved at opsummere de vigtigste punkter, som vi har drøftet i denne artikel, PL / SQL er den samlede blok af SQL-sætninger, der er gemt i databasen som et objekt. Disse objekter kan være af typen gemt procedure, funktioner og typer. Vi har set de forskellige datatyper, der tilbydes i PL / SQL. Vi lærer den grundlæggende struktur for lagrede procedurer og funktioner i PL / SQL og deres egenskaber.
Anbefalede artikler
Dette er en guide til PL / SQL-datatyper. Her diskuterer vi eksemplerne med kodeforklaring og nøglefunktioner i pl / sql sammen med funktioner i pl / sql. Du kan også se på de følgende artikler for at lære mere -
- CASE-erklæring i PL / SQL
- TeraData vs Oracle
- Hvad gør dataforskere?
- Betydningen af markøren i PL / SQL
- Kast vs kaster | Top 5 forskelle, du burde vide
- Forskellige typer af SQL-data med eksempler