Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Einführung in PL/SQL-Funktionen in der Oracle-Datenbank

Für jeden, der sich schon einmal mit Programmiersprachen wie C, C++ oder Java beschäftigt hat, ist das Konzept der Funktionen nicht neu. Funktionen sind nichts anderes als eine Gruppe ausführbarer Anweisungen. Durch die Verwendung von Funktionen können Sie es sich ersparen, dieselbe Programmierlogik immer wieder neu zu schreiben. Wie können wir also eine Funktion in Oracle PL/SQL definieren?

Was sind PL/SQL-Funktionen in Oracle Database?

In Oracle Database können wir eine PL/SQL-Funktion als eigenständiges Unterprogramm definieren, das dazu bestimmt ist, eine bestimmte, genau definierte Aufgabe zu erledigen. Funktionen werden als PL/SQL-Block bezeichnet, was bedeutet, dass sie als Datenbankobjekt in der Datenbank gespeichert und wiederverwendet werden können. Das ist auch der Grund, warum einige Bücher PL/SQL-Funktionen als gespeicherte Funktionen bezeichnen.

Arten von PL/SQL-Funktionen in Oracle Database

Es gibt zwei Arten von PL/SQL-Funktionen in Oracle Database, diese sind

  1. Pass-by-Value-Funktionen und
  2. Pass-by-Reference-Funktionen

In Oracle Database sollten beide Arten von Funktionen einige Werte zurückgeben müssen und diese Werte sollten ein gültiger SQL- oder PL/SQL-Datentyp sein.

Syntax von PL/SQL-Funktionen in der Oracle-Datenbank

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

Ich habe die Syntax der PL/SQL-Funktion Zeile für Zeile im Video-Tutorial auf meinem YouTube-Kanal zum gleichen Thema besprochen. Ich schlage vor, Sie sollten sich dieses Tutorial einmal ansehen.

Funktionsausführungsmethode

Abhängig von Ihrer Kreativität und Ihren Programmierkenntnissen kann eine PL/SQL-Funktion auf verschiedene Arten aufgerufen werden. Hier sind einige allgemeine Methoden zum Aufrufen einer PL/SQL-Funktion in Oracle Database

  1. Sie können das Dienstprogramm SQL*Plus der Oracle-Datenbank verwenden, um eine PL/SQL-Funktion aufzurufen, die von PL/SQL als prozedurale Anweisung aufgerufen werden kann.
  2. Ein anonymer PL/SQL-Block kann auch zum Aufrufen einer Funktion verwendet werden.
  3. Sie können eine Funktion sogar direkt in eine SELECT- oder DML-Anweisung aufrufen.

Bleiben Sie dran, wir werden jede dieser Ausführungsmethoden von PL/SQL-Funktionen im nächsten Tutorial besprechen.

Einschränkungen beim Aufrufen einer Funktion

  1. Eine Funktion, die den SQL-Datentyp zurückgibt, kann innerhalb einer SQL-Anweisung verwendet werden, und eine PL/SQL-Funktion, die den PL/SQL-Datentyp zurückgibt, funktioniert nur innerhalb von PL/SQL-Blöcken. Eine Ausnahme von dieser Regel ist, dass Sie innerhalb einer SQL-Abfrage keine Funktion aufrufen können, die eine DML-Operation enthält. Sie können jedoch eine Funktion aufrufen, die eine DML-Operation innerhalb von INSERT, UPDATE und DELETE ausführt.
  2. Eine Funktion, die von einer UPDATE- oder DELETE-Anweisung für eine Tabelle aufgerufen wird, kann dieselbe Tabelle nicht abfragen (SELECT) oder Transaktionen (DMLs) ausführen.
  3. Eine Funktion, die von SQL-Ausdrücken aufgerufen wird, darf nicht den TCL-Befehl (COMMIT oder ROLLBACK) oder den DDL-Befehl (CREATE oder ALTER) enthalten

Das war es für dieses Tutorial zur Einführung in PL/SQL-Funktionen in Oracle Database. Schauen Sie sich unbedingt das nächste Tutorial an, in dem ich die Erstellung einer PL/SQL-Funktion anhand eines sehr einfachen Beispiels demonstriere.

Stellen Sie auch sicher, dass Sie diesen Blog in Ihren sozialen Medien teilen, da ich die Waren von RebellionRider jeden Monat an einen der zufällig ausgewählten Gewinner verschenke. Für weitere Updates folgen Sie mir auf Facebook und Twitter.

Danke fürs Lesen und einen schönen Tag!