In diesem Oracle-Lernprogramm wird erläutert, wie Sie in Oracle/PLSQL Funktionen mit Syntax und Beispielen erstellen und löschen.
Create Function
Wie in anderen Sprachen können Sie in Oracle eigene Funktionen erstellen.
Syntax
Die Syntax zum Erstellen einer Funktion in Oracle lautet:
[ (parameter [,parameter]) ]
RETURN return_datatype
IS | AS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [function_name];
Beim Erstellen einer Prozedur oder Funktion können Sie Parameter definieren. Es gibt drei Arten von Parametern, die deklariert werden können:
IN - Der Parameter kann von der Prozedur oder Funktion referenziert werden. Der Wert des Parameters kann von der Prozedur oder Funktion nicht überschrieben werden.
OUT - Der Parameter kann nicht von der Prozedur oder Funktion referenziert werden, der Wert des Parameters kann jedoch von der Prozedur oder Funktion überschrieben werden.
IN OUT - Der Parameter kann von der Prozedur oder Funktion referenziert werden, und der Wert des Parameters kann von der Prozedur oder Funktion überschrieben werden.
Beispiel
Sehen wir uns ein Beispiel für das Erstellen einer Funktion in Oracle an.
Das folgende ist ein einfaches Beispiel für eine Oracle-Funktion:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
CREATE OR REPLACE Function FindCourse ( name_in IN varchar2 ) RETURN number IS cnumber number; cursor c1 is SELECT course_number FROM courses_tbl WHERE course_name = name_in; BEGIN open c1; fetch c1 into cnumber; if c1%notfound then cnumber := 9999; end if; close c1; RETURN cnumber; EXCEPTION WHEN OTHERS THEN raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM); END; |
Diese Funktion heißt FindCourse. Es hat einen Parameter namens name_in und gibt eine Zahl zurück. Die Funktion gibt die Kursnummer zurück, wenn sie anhand des Kursnamens eine Übereinstimmung findet. Andernfalls wird 99999 zurückgegeben.
Sie können dann auf Ihre neue Funktion in einer SQL-Anweisung wie folgt verweisen:
FROM courses
WHERE subject = 'Mathematics';
Drop-Funktion
Nachdem Sie Ihre Funktion in Oracle erstellt haben, müssen Sie sie möglicherweise aus der Datenbank entfernen.
Syntax
Die Syntax für das Ablegen einer Funktion in Oracle lautet:
function_name
Der Name der Funktion, die Sie löschen möchten.
Beispiel
Sehen wir uns ein Beispiel für das Löschen einer Funktion in Oracle an.
Beispielsweise:
1 |
DROP FUNCTION FindCourse; |
In diesem Beispiel wird die Funktion FindCourse gelöscht.