sql >> Databasteknik >  >> RDS >> Oracle

Hur man skapar PL/SQL-funktion i Oracle Database

Så nu när vi redan har lärt oss i den tidigare PL/SQL-handledningen om vad som är PL/SQL-funktioner i Oracle Database, låt oss ta ett steg framåt och lära oss hur man skapar en PL/SQL-funktion med ett mycket enkelt exempel.

Denna handledning kommer att kräva en ordentlig kunskap om syntaxen för PL/SQL-funktioner, så jag föreslår att du kollar in den tidigare handledningen först. Med det sagt, låt oss börja den här handledningen.

För att hålla denna handledning enkel och lätt att förstå kommer vi att skapa en mycket enkel funktion som beräknar arean av en cirkel. Jag antar att det kommer att tjäna syftet och hjälpa dig att lära dig hur du skapar PL/SQL-funktioner i Oracle Database.

Som diskuterats i föregående handledning är funktionskroppen uppdelad i två delar

  • Först är rubriken för PL/SQL-funktionen och
  • Andra är exekveringsdelen av PL/SQL-funktionen

Så låt oss börja med rubriken för vår funktion.

Steg 1. Skapa rubriken för en PL/SQL-funktion.

Rubriken består av funktionens signatur eller deklarationen av PL/SQL-funktionen.

--Function Header
CREATE OR REPLACE FUNCTION circle_area (radius NUMBER) 
RETURN NUMBER IS

Steg 2. Deklarera variabler eller konstanten.

Om ditt program kräver att du deklarerar någon variabel eller konstant eller något så kan du göra det direkt efter att du har skapat rubriken, det också utan att använda nyckelordet DECLARE.

--Declare a constant and a variable
pi  	CONSTANT NUMBER(7,2) :=	3.141;
area 	NUMBER(7,2);

Steg 3. Skapa exekveringsdelen av PL/SQL-funktionen.

När du har skapat huvudet för din funktion och deklarerat alla dina nödvändiga variabler såväl som konstanter är du redo att skapa exekveringsdelen av din PL/SQL-funktion. Här i exekveringsdelen av en PL/SQL-funktion skriver du alla dina exekveringssatser. Denna del definierar också hur din funktion fungerar.

BEGIN
  --Area of Circle pi*r*r;
  area := pi * (radius * radius);
  RETURN area; 
END;
/

Snabb info:
För att beräkna kvadraten på cirkelns radie i cirkelns area kan du också använda den inbyggda funktionen POWER (p, q). Den här funktionen tar två numeriska indata och returnerar ett numeriskt värde som blir svaret på det aritmetiska uttrycket av p höja till q.

Låt oss nu slå samman alla ovanstående kodbitar till en enda namngiven enhet.

PL/SQL-funktion för att beräkna "Area of ​​the Circle".

--Function Header
CREATE OR REPLACE FUNCTION circle_area (radius NUMBER) 
RETURN NUMBER IS
--Declare a constant and a variable
pi  	CONSTANT NUMBER(7,2) :=	3.141;
area 	NUMBER(7,2);
BEGIN
  --Area of Circle pi*r*r;
  area := pi * (radius * radius);
  RETURN area; 
END;

En lyckad kompilering kommer att skapa ett namngivet PL/SQL-block som är din PL/SQL-funktion med namnet circle_area.

Eftersom PL/SQL-funktioner heter PL/SQL-block så sparas de permanent i din databas som du kan använda när som helst.

För att se din PL/SQL-funktion i aktion måste du anropa den genom ditt program. Ditt program kan vara ett anonymt PL/SQL-block, eller ett namngivet PL/SQL-block eller till och med använda en SELECT-sats. Få av dessa olika sätt att anropa en funktion har visats i min videohandledning om samma ämne på min YouTube-kanal. Jag uppmuntrar dig starkt att titta på den videon.

Men om du vill att jag ska göra en separat blogg om att anropa en PL/SQL-funktion så skriv till mig på min Facebook eller lämna en Tweet på min Twitter.

Det var allt för den här handledningen om hur man skapar en PL/SQL-funktion i Oracle Database. Se till att dela den här bloggen på dina sociala medier och hjälp andra att lära sig.


  1. Returnera rader som innehåller numeriska värden i Oracle

  2. Hur söker jag efter en sträng i en SQL Server-databas?

  3. Oracle-skärm mer än 24 timmar

  4. Konfigurera Pentaho Data Integration för att använda Oracle Wallet för Oracle Cloud