DROP FUNCTION
Mithilfe des Befehls DROP FUNCTION können Sie eine vorhandene benutzerdefinierte Funktion aus einer Datenbank entfernen. Wenn Sie eine Funktion löschen, werden auch die Funktionsobjektdateien aus dem Benutzercode-Objektrepository entfernt.
Übersicht
DROP FUNCTION function_name(argument_types)
Eingaben
Eingabe | Beschreibung |
---|---|
FUNCTION_NAME | Gibt den Namen einer vorhandenen benutzerdefinierten Funktion an. Auf Systemen, die mehrere Schemas unterstützen, können Sie einen Namen im Format 'Schema.Funktion' angeben, um eine Funktion in einem anderen Schema der aktuellen Datenbank zu löschen. Die Löschung einer Funktion in einer anderen Datenbank ist nicht möglich. |
argument_types | Gibt eine Liste vollständig angegebener Argumentdatentypen zur eindeutigen Identifikation der Funktion an. Alle Netezza Performance Server werden unterstützt. Zeichenfolgen müssen entweder eine Größenangabe oder die Angabe ANY für generische Größen umfassen. Bei numerischen Typen (NUMERIC) müssen Sie die Genauigkeit und die Anzahl der Kommastellen oder ANY für generische Größen angeben. Sie können auch den VARARGS-Wert angeben, um eine variable Argumentfunktion zu löschen. |
Ausgaben
Ausgabe | Beschreibung |
---|---|
DROP FUNCTION | Die Nachricht, die das System zurückgibt, wenn der Befehl erfolgreich ist. |
ERROR: Name: No such function | Die Nachricht, die vom System zurückgegeben wird, wenn die angegebene Funktion in der aktuellen Datenbank nicht vorhanden ist. |
Error: DropFunction: existing UDX name(argument_types) differs in size of string/numeric arguments | Dieser Fehler gibt an, dass eine UDX mit diesem Namen vorhanden ist, bei der jedoch für Zeichenfolgeargumente oder numerische Argumente andere Größen angegeben wurden. Um die Funktion löschen zu können, müssen Sie sicherstellen, dass die exakte Argumenttypliste mit den korrekten Größen angegeben wurde. |
ERROR: Can't delete function name - object depends on it | Die Nachricht, die vom System zurückgegeben wird, wenn eine UDF in einer Tabelle oder Ansicht referenziert wird. Sie können die UDF erst löschen, nachdem die Abhängigkeit aufgelöst wurde. |
Beschreibung
Eine benutzerdefinierte Funktion, die momentan in einer aktiven Abfrage verwendet wird, kann nicht gelöscht werden. Nachdem die aktive Abfragetransaktion abgeschlossen ist, verarbeitet das Netezza Performance Server den Befehl DROP FUNCTION, um die Funktion zu löschen. Die Funktion muss in der aktuellen Datenbank definiert sein.
Sie können keine UDF löschen, die von einer vorhandenen Tabelle oder Ansicht referenziert wird. Weitere Informationen zum Auflösen von Abhängigkeiten zu UDFs, die Sie löschen möchten, finden SieunterAbhängigkeitsprüfungen vor dem Löschen von UDXs.
Zugriffsrechte erforderlich
- Sie müssen über die Entfernungsberechtigung für das FUNCTION-Objekt verfügen.
- Sie müssen über die Entfernungsberechtigung für das betreffende UDF-Objekt verfügen.
- Sie müssen der Eigner der UDF sein.
- Bei Systemen, die mehrere Schemas unterstützen, müssen Sie der Datenbankadministrator oder der Eigner der aktuellen Datenbank bzw. des aktuellen Schemas sein.
Allgemeine Aufgaben
Mithilfe des Befehls DROP FUNCTION können Sie eine vorhandene Funktion aus einer Datenbank löschen.
Verwendung
- Geben Sie Folgendes ein, um eine Beispielfunktion namens myfunc(char(12)) zu
löschen:
MYDB.SCHEMA(MYUSER)=> DROP FUNCTION myfunc(char(12));