sql >> Database >  >> RDS >> Oracle

Inleiding tot PL/SQL-functies in Oracle Database

Voor iedereen die ooit programmeertalen zoals C, C++ of Java heeft gestudeerd, is het concept van functies niet nieuw. Functies zijn niets anders dan een groep uitvoerbare instructies. Met Functies kunt u uzelf behoeden voor het steeds opnieuw herschrijven van dezelfde programmeerlogica. Dus hoe kunnen we een functie definiëren in Oracle PL/SQL?

Wat zijn PL/SQL-functies in Oracle Database?

In Oracle Database kunnen we een PL/SQL-functie definiëren als een op zichzelf staand subprogramma dat bedoeld is om een ​​specifieke, goed gedefinieerde taak uit te voeren. Functies worden PL/SQL-blok genoemd, wat betekent dat ze als databaseobject in de database kunnen worden opgeslagen en opnieuw kunnen worden gebruikt. Dat is ook de reden waarom sommige boeken naar PL/SQL-functies verwijzen als opgeslagen functies.

Soorten PL/SQL-functies in Oracle Database

Er zijn twee soorten PL/SQL-functies in Oracle Database, deze zijn

  1. Pass-by-Value-functies en
  2. Pass-by-Reference-functies

In Oracle Database zouden beide soorten functies enkele waarden moeten retourneren en deze waarden moeten een geldig SQL- of PL/SQL-gegevenstype zijn.

Syntaxis van PL/SQL-functies in Oracle Database

CREATE [OR REPLACE] FUNCTION function_name
(Parameter 1, Parameter 2…)
RETURN datatype
IS
	Declare variable, constant etc.  
BEGIN
	Executable Statements
	Return (Return Value);
END;

Ik heb de syntaxis van de PL/SQL-functie regel voor regel besproken in de video-tutorial op mijn YouTube-kanaal over hetzelfde onderwerp. Ik raad je aan om die tutorial een keer te gaan bekijken.

Methode voor het uitvoeren van functies

Afhankelijk van je creativiteit en programmeervaardigheden kan een PL/SQL-functie op meerdere manieren worden aangeroepen. Hier zijn enkele algemene manieren om een ​​PL/SQL-functie aan te roepen in Oracle Database

  1. U kunt het hulpprogramma SQL*Plus van de Oracle Database gebruiken om een ​​PL/SQL-functie aan te roepen die vanuit PL/SQL als procedurele instructie kan worden aangeroepen.
  2. Een anoniem PL/SQL-blok kan ook worden gebruikt om een ​​functie aan te roepen.
  3. Je kunt zelfs een functie rechtstreeks in een SELECT- of DML-statement aanroepen.

Blijf ons volgen, we zullen elk van deze uitvoeringsmethoden van PL/SQL-functies bespreken in de volgende zelfstudie.

Beperkingen bij het aanroepen van een functie

  1. Een functie die het SQL-gegevenstype retourneert, kan worden gebruikt binnen een SQL-instructie en een PL/SQL-functie die het PL/SQL-gegevenstype retourneert, werkt alleen binnen PL/SQL-blokken. Een uitzondering op deze regel is dat u geen functie kunt aanroepen die een DML-bewerking in een SQL-query bevat. U kunt echter een functie aanroepen die een DML-bewerking uitvoert binnen INSERT, UPDATE en DELETE.
  2. Een functie die wordt aangeroepen vanuit een UPDATE- of DELETE-instructie op een tafel, kan geen query uitvoeren (SELECT) of transacties (DML's) uitvoeren op dezelfde tafel.
  3. Een functie die wordt aangeroepen vanuit SQL-expressies mag de opdracht TCL (COMMIT of ROLLBACK) of de opdracht DDL (CREATE of ALTER) niet bevatten

Dat was het voor deze tutorial over Inleiding tot PL/SQL-functies in Oracle Database. Zorg ervoor dat je de volgende tutorial bekijkt waarin ik het maken van de PL/SQL-functie demonstreer aan de hand van een heel eenvoudig voorbeeld.

Zorg er ook voor dat je deze blog op je sociale media deelt, want ik geef elke maand de merchandise van RebellionRider weg aan een van de willekeurig geselecteerde winnaars. Voor verdere updates volg me op mijn Facebook en Twitter.

Bedankt voor het lezen en een fijne dag verder!


  1. Wat is de beste manier om coördinaten (lengtegraad/breedtegraad, van Google Maps) op te slaan in SQL Server?

  2. MySQL InnoDB Storage Engine-ondersteuning inschakelen in XAMPP-installatie

  3. Queryresultaten filteren in PostgreSQL

  4. Query time-out in pg-promise