Wer kann eine Funktion ändern
Die ALTER FUNCTION
-Anweisung kann ausgeführt werden durch:
-
Inhaber der gespeicherten Funktion
-
Benutzer mit der Berechtigung
ALTER ANY FUNCTION
Die ALTER FUNCTION
-Anweisung kann ausgeführt werden durch:
Inhaber der gespeicherten Funktion
Benutzer mit der Berechtigung ALTER ANY FUNCTION
ALTER FUNCTION
ALTER FUNCTION ADD_INT(A INT, B INT, C INT)
RETURNS INT
AS
BEGIN
RETURN A + B + C;
END
CREATE OR ALTER FUNCTION
Erstellen einer neuen oder Ändern einer vorhandenen gespeicherten Funktion
DSQL
CREATE OR ALTER FUNCTION funcname
[ ( [ <in_params> ] ) ]
RETURNS <domain_or_non_array_type> [COLLATE collation]
[DETERMINISTIC]
{<psql_function> | <external-module-body>}
!! Vgl. Syntax CREATE FUNCTION
für weitere Regeln !!
Die Anweisung CREATE OR ALTER FUNCTION
erstellt eine neue gespeicherte Funktion oder ändert eine vorhandene.Wenn die gespeicherte Funktion nicht existiert, wird sie durch transparentes Aufrufen einer CREATE FUNCTION
-Anweisung erstellt.Wenn die Funktion bereits existiert, wird sie geändert und kompiliert (durch ALTER FUNCTION
), ohne ihre bestehenden Privilegien und Abhängigkeiten zu beeinträchtigen.
CREATE OR ALTER FUNCTION
CREATE OR ALTER FUNCTION ADD_INT(A INT, B INT DEFAULT 0) RETURNS INT AS BEGIN RETURN A + B; END
DROP FUNCTION
Löschen einer gespeicherten Funktion
DSQL
DROP FUNCTION funcname
Parameter | Beschreibung |
---|---|
funcname |
Name der gespeicherten Funktion.Die maximale Länge beträgt 63 Zeichen.Muss unter allen Funktionsnamen in der Datenbank eindeutig sein. |
Die DROP FUNCTION
-Anweisung löscht eine vorhandene gespeicherte Funktion.Wenn die gespeicherte Funktion Abhängigkeiten aufweist, schlägt der Versuch, sie zu löschen, fehl und der entsprechende Fehler wird ausgegeben.
Die DROP FUNCTION
-Anweisung kann ausgeführt werden durch:
Inhaber der gespeicherten Funktion
Benutzer mit dem Privileg DROP ANY FUNCTION
DROP FUNCTION
DROP FUNCTION ADD_INT;
RECREATE FUNCTION
Erstellen einer neuen gespeicherten Funktion oder Neuerstellen einer vorhandenen Funktion
DSQL
RECREATE FUNCTION funcname
[ ( [ <in_params> ] ) ]
RETURNS <domain_or_non_array_type> [COLLATE collation]
[DETERMINISTIC]
{<psql_function> | <external-module-body>}
!! Vgl. Syntax CREATE FUNCTION
für weitere Regeln !!
Die Anweisung 'RECREATE FUNCTION' erstellt eine neue gespeicherte Funktion oder erstellt eine vorhandene neu.Wenn es bereits eine Funktion mit diesem Namen gibt, versucht die Engine, sie zu löschen und dann eine neue zu erstellen.Das Neuerstellen einer vorhandenen Funktion schlägt bei COMMIT
fehl, wenn die Funktion Abhängigkeiten hat.
Note
|
Beachten Sie, dass Abhängigkeitsfehler erst in der |
Nachdem eine Prozedur erfolgreich neu erstellt wurde, werden vorhandene Berechtigungen zum Ausführen der gespeicherten Funktion und derBerechtigungen der gespeicherten Funktion selbst werden verworfen.
RECREATE FUNCTION
RECREATE FUNCTION ADD_INT(A INT, B INT DEFAULT 0)
RETURNS INT
AS
BEGIN
RETURN A + B;
EN