Introduktion till PL / SQL-datatyper
Det finns ofta ett behov av att utföra samma SQL-frågor flera gånger och för att tillgodose detta behov kommer Oracle med PL / SQL i början av 90-talet. Den är utvecklad för att förbättra SQL: s funktioner. Det är inbäddat i Oracle-databasen. PL / SQL är en förlängning av strukturerat frågespråk i Oracle-databassystemet. Det är ett procedurspråk som består av tre delar en deklarativ del som kan acceptera valfritt antal parametrar, en körbar del som består av SQL-frågor och en undantagshantering.
PL / SQL lagras i databasen i en sammanställd form och kan hänvisas till i koden med dess namn. PL / SQL tillåter utvecklaren att manipulera data genom att använda valfri beslutslogik, iteration och många andra funktioner som stöds av det processuella programmeringsspråket.
Nyckelfunktioner för PL / SQL
Viktiga funktioner för PL / SQL anges nedan:
- PL / SQL tillåter utvecklaren att köra valfritt antal frågor i ett block med ett enda kommando.
- PL / SQL kan fungera som en procedur, funktioner, triggers och typer och lagras i databasen och kan användas valfritt antal gånger av applikationerna.
- Till skillnad från SQL är felhantering möjlig i PL / SQL.
- PL / SQL returnerar ett enda skalvärde.
PL / SQL-datatyper
Som alla andra språk har PL / SQL också datatyper. låt oss titta på några av de datatyper som definieras i PL / SQL
PL / SQL-datatyp |
Beskrivning |
BINARY_INTEGER | Accepterar heltalssiffriga data, signerad heltal i intervallet -2, 147, 483, 648 till 2, 147, 483, 647 och representerad i 32 bitar |
KLICK | Accepterar binär data |
BLOB (n) | Binära stora objektdata där intervallet för n är mellan 1 och 2 147 483 647 |
BOOLEAN | Accepterar antingen sant eller falskt (logiska värden) |
RÖDING | Accepterar strängdata med fast längd 1 |
CHAR (n) | Strängdata med längd n |
CHAR VARYING (n) | Teckensträngdata med variabel längd där n är den maximala gränsen |
KARAKTÄR | Det är en teckensträng med fast längd och den maximala storleken kan vara 32 767 byte. |
KARAKTER (n) | En teckensträng med variabel längd med en maximal storlek på n |
DATUM | Det används för att lagra datum och tid som innehåller fält som ett år, månad, dag, timme, minut, sekund och många fler. |
DECIMAL | Accepterar decimaluppgifter med en maximal precision på 38 decimaler. |
DUBBEL | Flytande antal dubbelprecision |
FLYTA | Flytande punkttyp med maximal precision på 126 bitar |
INT | det är en singad fyra-bytes heltalssiffriga data |
HELTAL | det är en singad fyra-bytes heltalssiffriga data |
Exempel på PL / SQL-datatyper
Hittills har vi sett de olika datatyper som finns tillgängliga i PL / SQL, låt oss titta på några av exemplet och se hur vi kan skapa och utföra lagrade procedurer i PL / SQL
Procedurer i PL / SQL är ett underprogram som består av SQL-satser, procedurerna i Oracle lagras som ett databasobjekt och har ett unikt namn som det kan hänvisas till. Proceduren kan ha ett kapselt block som gör det möjligt för utvecklaren att utföra alla logiska och aritmetiska operationer på data.
Låt oss titta på syntaxen för den lagrade proceduren
Syntax:
SKAPA ELLER Byt ut FÖRFARANDET
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
Syntax Förklaring:
- Skapa eller ersätta nyckelord instruerar kompilatorn att skapa ett databasobjekt med det namn som anges i proceduren, procedurnamnet måste vara unikt annars kommer kompilatorn att kasta ett fel.
- Nu när du har en uppfattning om procedursyntaxen, låt oss skriva en mycket enkel lagrad procedur och förstå de olika komponenterna i den.
- Som alla andra programmeringsspråk börjar vi med ett mycket enkelt Hello World-program. Den lagrade proceduren tar namnet som inmatning och visar resultatet som Hello World från
SKAPA ELLER Byt ut FÖRFARANDE Print_Message (p_name IN VARCHAR2)
Koda:
IS
BEGIN
dbms_output.put_line ('Hello World from '|| p_name);
END;
/
EXEC Print_Message ('Mohit');
Kodförklaring:
- Här har den första raden ett nyckelord Skapa eller ersätta som kommer att instruera kompilatorn att antingen skapa en lagrad procedur med ett namn Print_Message som tar en Varchar2 som inmatning eller ersätta den befintliga lagrade proceduren med samma namn.
- Linjen dbms_output.put_line sammanlänker Hello World från meddelandet med den ingång som du skickar till proceduren och visar den på konsolen.
- För att ringa en lagrad procedur används EXEC-nyckelord följt av parametervärden i samma datatyper som definierats i den lagrade proceduren.
Funktioner i PL / SQL
Funktion i PL / SQL är mycket lik den lagrade proceduren, den enda stora skillnaden är att en funktion ska ha ett returvärde. Det bör antingen returnera ett värde eller bör göra ett undantag. Låt oss se några av egenskaperna hos funktionerna i PL / SQL
- Funktioner som huvudsakligen används för datamanipuleringsändamål gillar att utföra grundläggande logiska och aritmetiska beräkningar.
- En typisk funktionsstruktur har 3 delar, dvs en deklarationsdel, exekveringsdelen och undantagets felhantering.
- Om funktionen inte har något DML-uttalande i den, kan den ringas av det valda uttalandet.
låt oss se syntaxen för funktionerna
Syntax:
SKAPA ELLER Byt ut FUNKTION
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
Syntax Förklaring:
- Skapa ett funktionsnyckel som instruerar kompilatorn att skapa en funktion om den inte redan finns. Returdatatypen är obligatorisk, återigen bör funktionsnamnet vara unikt.
- Undantagshanteringsblock är valfritt men det är alltid tillrådligt att ha det.
Slutsats
Låt oss nu samla in genom att sammanfatta de viktigaste punkterna som vi har diskuterat i den här artikeln, PL / SQL är det sammanställda blocket av SQL-satser som lagras i databasen som ett objekt. Dessa objekt kan vara av typlagrad procedur, funktioner och typer. Vi har sett de olika datatyper som erbjuds i PL / SQL. Vi lär oss den grundläggande strukturen för lagrade procedurer och funktioner i PL / SQL och deras egenskaper.
Rekommenderade artiklar
Detta är en guide till PL / SQL-datatyper. Här diskuterar vi exemplen med kodförklaring och nyckelfunktioner för pl / sql tillsammans med funktioner i pl / sql. Du kan också titta på följande artiklar för att lära dig mer -
- CASE-uttalande i PL / SQL
- TeraData vs Oracle
- Vad gör datavetare?
- Betydelsen av markören i PL / SQL
- Kast vs kastar | Topp 5 skillnader du borde veta
- Olika typer av SQL-data med exempel