Oracle PL/SQL Grundkurs

Die Programmierung einer Function

Testen Sie unsere 1983 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Im Gegensatz zu einer Stored Procedure liefert eine Function einen Rückgabewert. In diesem Video geht der Trainer auf die Programmierung einer Function ein, indem er auf die Datenbank des BMI-Programms zugreift.

Transkript

Functions sind benannte PL/SQL-Programme, die einen Rückgabewert liefern. Wie Sie in diesem Video sehen werden, ist der Unterschied zu einer Stored Procedure sehr gering. Daher werde ich unser PL/SQL-Skript für die Erzeugung der Stored Procedure kap04_bmi_auswerten nun öffnen, um hieraus dann eine Function zu erstellen. Das Schlüsselwort PROCEDURE muss ich jetzt durch das Schlüsselwort FUNCTION ersetzen. Den Ausgangsparameter auswertung_out werde ich nun nicht mehr benötigen, da ich vorhabe, die Auswertung als Rückgabewert zu liefern. Ich lösche also diesen ganzen Teil um den Rückgabewert anzukündigen setzt man zunächst das Schlüsselwort RETURN an dieser Stelle hier, hinter die schließende Klammer. und dahinter wiederum den Datentypen des Rückgabewertes, also schreibe ich hier rein: VARCHAR2. In der gesamten Function wird das Schlüsselwort RETURN mindestens zweimal benötigt. Zum einen wird es bei der Deklaration hier vorne des Datentypen vom Rückgabewert verwendet, und zum anderen wird es dann gebraucht, wenn man den Rückgabewert ausliefert. Und zwar schreibe ich jetzt genau an dieser Stelle RETURN hin, und das ist dann immer jeweils mein Rückgabewert. Kommen wir nun zum Aufruf der Function bmi_auswerten in der Function bmi_berechnen hier auf der linken Seite. Beim Aufruf der Function bmi_auswerten kann ich die Variable auswertung nun einsparen. Deswegen lösche ich jetzt diese Zeile. Denn ich brauche diese Variable nicht zu übergeben. Ich werde den Aufruf der Function nun ganz einfach hinter den Doppelpunkt setzen. Also nehme ich das hier heraus, und füge den Aufruf genau dort hinein, und speichere die Dateien mal ab. Dann schließe ich Notepad++ und muss jetzt nun dafür sorgen, dass die Function bmi_auswerten und die Procedure bmi_berechnen erzeugt werden. Allerdings habe ich hier ein Problem: Und zwar muss ich zunächst mal die Procedure bmi_auswerten manuell löschen, da dies mit dem, ja mit der Anweisung CREATE OR REPLACE FUNCTION nicht funktionieren würde. Also muss ich jetzt manuell schreiben: drop procedure, und dann bmi Unterstrich auswerten und dann ist sie gelöscht, und jetzt kann ich meine Skripte aufrufen, und zwar zunächst das kap04_bmi_auswerten, dadurch wird ja meine Function erzeugt, und jetzt auch noch kap04_bmi_berechnen So, und jetzt kann ich das Ganze auch noch mal ausprobieren, execute bmi_berechnen und, ja, ich setze einfach mal die Werte für die Größe und das Gewicht hinein, und, ja, und das funktioniert! In diesem Video haben Sie gelernt, dass eine Function im Grunde genommen nichts anderes ist als eine Procedure, die einen Rückgabewert liefert. Weil auch Procedures mit Ausgangsparametern hierfür genutzt werden, stellt sich manchem PL/SQL-Anfänger die Frage, ob die Verwendung einer Function erforderlich ist. Aber in der Praxis ist es so, dass man durchaus darin unterscheidet, ob man vom Design her besser eine PL/SQL-Function aufruft. In solchen Fällen gilt es in der Praxis als sauber programmiert, wenn das Programm dann auch tatsächlich als Function umgesetzt ist.

Oracle PL/SQL Grundkurs

Entdecken Sie grundlegende Programmstrukuren, Stored Procedures und Functions in PL/SQL und sehen Sie, wie Sie auf Daten zugreifen können.

3 Std. 58 min (32 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!