Introduksjon til PL / SQL-datatyper
Det er ofte behov for å utføre de samme SQL-spørringene flere ganger og for å imøtekomme dette behovet Oracle kommer med PL / SQL på begynnelsen av 90-tallet. Den er utviklet for å forbedre mulighetene til SQL. Den er innebygd i Oracle-databasen. PL / SQL er en utvidelse av Structure Query Language i Oracle Databasesystem. Det er et prosedyrespråk som består av tre deler en deklarativ del som kan godta et antall parametere, en kjørbar del som består av SQL-spørsmål og en unntakshåndtering.
PL / SQL lagres i databasen i en kompilert form og kan refereres til i koden med navnet. PL / SQL lar utvikleren manipulere dataene ved å bruke hvilken som helst beslutningslogikk, iterasjon og mange andre funksjoner som støttes av det prosessuelle programmeringsspråket.
Viktige funksjoner i PL / SQL
Nøkkelfunksjoner i PL / SQL er gitt nedenfor:
- PL / SQL lar utvikleren utføre et hvilket som helst antall spørsmål i en blokk ved hjelp av en enkelt kommando.
- PL / SQL kan fungere som en prosedyre, funksjoner, utløsere og typer, og lagres i databasen og kan brukes når som helst av applikasjonene.
- I motsetning til SQL, er feilhåndtering mulig i PL / SQL.
- PL / SQL returnerer en enkelt skalarverdi.
PL / SQL-datatyper
Som alle andre språk har PL / SQL også datatyper. la oss se på noen av datatypene som er definert i PL / SQL
PL / SQL-datatype |
Beskrivelse |
BINARY_INTEGER | Godtar heltall numeriske data, signert heltall i området fra -2 1447 483 648 til 2 147 483 647 og representert i 32 biter |
BLOB | Godtar binære data |
BLOB (n) | Binære data for store objekter der rekkevidden av n er mellom 1 til 2 147 483 647 |
boolsk | Godtar enten sant eller usant (logiske verdier) |
CHAR | Godtar strengdata med fast lengde 1 |
CHAR (n) | Strengdata av lengde n |
CHAR VARYING (n) | Tegnstrengdata med variabel lengde der n er den maksimale grensen |
KARAKTER | Det er en streng med fast lengde og maksimal størrelse kan være på 32 767 byte. |
KARAKTER (n) | En karakterstreng med variabel lengde med en maksimal størrelse på n |
DATO | Den brukes til å lagre dato-klokkedata som inkluderer felt som et år, måned, dag, time, minutt, sekund og mange flere. |
DESIMAL | Godtar desimaldata med en maksimal presisjon på 38 desimaler. |
DOBBELT | Flytepunkt antall dobbeltpresisjon |
FLYTE | Flytende punkttype med en maksimal presisjon på 126 biter |
INT | det er en syntetisk numerisk data med fire byte |
INTEGER | det er en syntetisk numerisk data med fire byte |
Eksempler på PL / SQL-datatyper
Så langt har vi sett de forskjellige datatypene som er tilgjengelige i PL / SQL, la oss se på noen av eksemplene og se hvordan kan vi lage og utføre lagrede prosedyrer i PL / SQL
Prosedyrer i PL / SQL er et underprogram som består av SQL-setninger, prosedyrene i Oracle lagres som et databaseobjekt og har et unikt navn som det kan henvises til. Prosedyren kan ha en nestet blokk som lar utvikleren utføre logiske og aritmetiske operasjoner på dataene.
La oss se på syntaksen til den lagrede prosedyren
syntaks:
OPPRETT ELLER BYTTE PROSEDYR
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
Syntaksforklaring:
- Opprett eller erstatt nøkkelord instruerer kompilatoren om å opprette et databaseobjekt med navnet gitt i prosedyren, prosedyrenavnet må være unikt ellers vil kompilatoren kaste en feil.
- Nå som du har en ide om prosedyresyntaxen, la oss skrive en veldig enkel lagret prosedyre og forstå de forskjellige komponentene i den.
- Som alle andre programmeringsspråk, vil vi starte med et veldig enkelt Hello World-program. Denne lagrede prosedyren vil ta navnet som en inngang og vise resultatet som Hello World fra
OPPRETT ELLER BYTTE PROSEDYR Print_Message (p_name IN VARCHAR2)
Kode:
IS
BEGIN
dbms_output.put_line ('Hello World from '|| p_name);
END;
/
EXEC Print_Message ('Mohit');
Forklaring av kode:
- Her har den første linjen et nøkkelord Opprett eller erstatt som vil instruere kompilatoren til å enten lage en lagret prosedyre med et navn Print_Message som tar en Varchar2 som inngang eller erstatte den eksisterende lagrede prosedyren med samme navn.
- Linjen dbms_output.put_line vil sammenkoble Hello World fra meldingen med inngangen du sender til prosedyren og vise den på konsollen.
- For å ringe en lagret prosedyre brukes EXEC nøkkelord fulgt av parameterverdiene i de samme datatypene som definert i den lagrede prosedyren.
Funksjoner i PL / SQL
Funksjon i PL / SQL er veldig lik den lagrede prosedyren, den eneste store forskjellen er at en funksjon skal ha en returverdi. Den skal enten returnere en verdi eller skaffe et unntak. La oss se noen av egenskapene til funksjonene i PL / SQL
- Funksjoner som hovedsakelig brukes til databehandlingsformål, liker å utføre grunnleggende logiske og aritmetiske beregninger.
- En typisk funksjonsstruktur har 3 deler, dvs. en deklarasjonsdel, utførelsesdelen og unntaket feilhåndtering.
- Hvis funksjonen ikke har noen DML-setning, kan den ringes av valgt uttalelse.
la oss se syntaksen til funksjonene
syntaks:
OPPRETT ELLER BYTTE FUNKSJON
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
Syntaksforklaring:
- Lag et funksjonsnøkkelord som vil instruere kompilatoren om å opprette en funksjon hvis den ikke allerede er til stede. Returdatatypen er obligatorisk, igjen skal funksjonsnavnet være unikt.
- Unntakshåndteringsblokk er valgfritt, men det anbefales alltid å ha det.
Konklusjon
La oss nå pakke opp ved å oppsummere de viktigste punktene som vi har diskutert i denne artikkelen, PL / SQL er den sammensatte blokken med SQL-setninger som er lagret i databasen som et objekt. Disse objektene kan være av typen lagret prosedyre, funksjoner og typer. Vi har sett de forskjellige datatypene som blir tilbudt i PL / SQL. Vi lærer den grunnleggende strukturen for lagrede prosedyrer og funksjoner i PL / SQL og deres egenskaper.
Anbefalte artikler
Dette er en guide til PL / SQL-datatyper. Her diskuterer vi eksemplene med kodeforklaring og sentrale funksjoner i pl / sql sammen med funksjoner i pl / sql. Du kan også se på følgende artikler for å lære mer -
- CASE-uttalelse i PL / SQL
- TeraData vs Oracle
- Hva gjør dataforskere?
- Betydningen av markøren i PL / SQL
- Kast vs kaster | Topp 5 forskjeller du burde vite
- Ulike typer SQL-data med eksempler