Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (A-D)

 

ALTER FUNCTION-Anweisung

Mit dieser Anweisung ändern Sie eine Funktion. Nehmen Sie die vollständige neue Funktion in die ALTER FUNCTION-Anweisung auf.

Syntax 1
ALTER FUNCTION [ Eigentümer.]Funktionsname Funktionsdefinition
Funktionsdefinition : CREATE FUNCTION-Syntax
Syntax 2
ALTER FUNCTION [ Eigentümer.]Funktionsname 
SET HIDDEN
Syntax 3
ALTER FUNCTION [ Eigentümer.]Funktionsname
RECOMPILE
Bemerkungen

Syntax 1   Die ALTER FUNCTION-Anweisung unterscheidet sich in der Syntax nur durch das erste Wort von der CREATE FUNCTION-Anweisung. Beide Versionen der CREATE FUNCTION-Anweisung können für Änderungen verwendet werden.

Bestehende Berechtigungen für die Funktion werden beibehalten und müssen nicht neu zugewiesen werden. Wenn eine DROP FUNCTION- und eine CREATE FUNCTION-Anweisung ausgeführt werden, müssen Sie EXECUTE-Berechtigungen neu zuweisen.

Syntax 2   Sie können SET HIDDEN verwenden, um die Definition der zugehörigen Funktion zu verschleiern und somit unlesbar zu machen. Die Funktion kann aus Ihrer Datenbank entladen und in andere Datenbanken geladen werden.

Anmerkung

Diese Einstellung ist irreversibel. Wenn Sie den Originalcode weiterhin benötigen, müssen Sie ihn außerhalb der Datenbank aufbewahren.

Wenn SET HIDDEN verwendet wird, ist die Definition der Funktion bei der Fehlerbehandlung mit dem Debugger nicht zu sehen, und sie wird auch nicht in den Prozedurprofilen angezeigt.

Syntax 3   Verwenden Sie die RECOMPILE-Syntax, um eine benutzerdefinierte SQL-Funktion neu zu kompilieren. Wenn Sie eine Funktion neu kompilieren, wird die im Katalog gespeicherte Definition neuerlich syntaktisch analysiert und die Syntax wird geprüft. Die Quelle des Funktionscodes wird durch die Neukompilierung nicht verändert. Wenn Sie eine Funktion neu kompilieren, bleibt die durch die SET HIDDEN-Klausel verschleierte Definition weiterhin verschleiert und unlesbar.

Berechtigungen

Sie müssen Eigentümer der Funktion sein oder DBA-Berechtigung haben.

Nebenwirkungen

Automatisches Festschreiben (Autocommit).

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Erweiterung des Herstellers

Beispiel

In diesem Beispiel wird MyFunction erstellt und geändert. Mit der SET HIDDEN-Klausel wird die Funktionsdefinition verschleiert und unlesbar.

CREATE FUNCTION MyFunction(
   firstname CHAR(30),
   lastname CHAR(30) )
RETURNS CHAR(61)
BEGIN
   DECLARE name CHAR(61);
   SET name = firstname || ' ' || lastname;
   RETURN (name);
ALTER FUNCTION MyFunction SET HIDDEN;
END;