ESQL-Prozeduren

Eine Prozedur ist eine Unterroutine, die keinen Wert zurückgibt. Sie akzeptiert Eingabeparameter vom aufrufenden Programm und gibt Ausgabewerte an das aufrufende Programm zurück.

Prozeduren und Funktionen sind sich sehr ähnlich. Allerdings besitzen Prozeduren im Gegensatz zu Funktionen keinen Rückgabewert. Aus diesem Grund können sie nicht Teil einer Anweisung sein und werden mit der CALL-Anweisung aufgerufen. Prozeduren verfügen in der Regel über Ausgabeparameter.

Sie können eine Prozedur in ESQL (eine interne Prozedur) oder als eine in einer Datenbank gespeicherte Prozedur (eine externe Prozedur) implementieren. Bei der ESQL-Prozedur muss es sich um eine einzelne ESQL-Anweisung handeln. Bei dieser Anweisung kann es sich auch um eine COMPOUND-Anweisung handeln, z. B. BEGIN ... END. Sie können eine Prozedur nicht in einer EVAL-Anweisung oder einer EVAL-Funktion definieren.

Wenn Sie eine Prozedur definieren, ordnen Sie dieser einen Namen zu. Bei dem Namen muss die Groß-/Kleinschreibung nicht beachtet werden (d. h., eine beliebige Kombination von Groß- und Kleinbuchstaben stimmt mit der Deklaration überein). Dies unterscheidet den Prozedurnamen von den Namen für Schemas, Konstanten, Variablen und Kennungen, bei denen die Groß-/Kleinschreibung beachtet werden muss, und die Sie entsprechend Ihrer Deklaration angeben müssen.

In einem ESQL-Ausdruck kann ein Verweis auf eine Prozedur in einem anderen Brokerschema enthalten sein, die in einer ESQL-Datei in demselben oder einem anderen zugehörigen Projekt definiert wurde. Wenn Sie diese Technik anwenden möchten, müssen Sie einen vollständig qualifizierten Namen für die Prozedur angeben, oder eine PATH-Anweisung, über die das Qualifikationsmerkmal festgelegt ist, einfügen. Die PATH-Anweisung muss in derselben ESQL-Datei, jedoch nicht innerhalb eines MODULS codiert sein.

Einer externen Datenbankprozedur ist das Schlüsselwort EXTERNAL und ein externer Prozedurname zugeordnet. Diese Prozedur muss in der Datenbank und im Broker definiert sein. Der Name, der mit dem Schlüsselwort EXTERNAL angegeben wird, muss mit dem Namen der gespeicherten Datenbankprozedur übereinstimmen. Die Parameternamen müssen nicht identisch sein. Der Name der ESQL-Prozedur muss mit dem definierten externen Namen nicht übereinstimmen.

Beginn der ÄnderungÜberlastete Prozeduren werden von keinen Datenbank unterstützt. (Bei einer überlappenden Prozedur handelt es sich um eine Prozedur, die denselben Namen wie eine andere Prozedur im Datenbankschema hat, der jedoch eine andere Anzahl von Parametern oder andere Parametertypen zugeordnet sind.) Wenn der Broker eine überlappende Prozedur findet, wird eine Ausnahme ausgegeben.Ende der Änderung

Die dynamische Auflösung von Schemanamen wird unterstützt; wenn Sie die Prozedur definieren, müssen Sie ein Platzhalterzeichen für das Schema angeben, das vor dem Aufruf der Prozedur durch ESQL aufgelöst wird. Weitere Informationen hierzu finden Sie unter Gespeicherte Prozeduren aufrufen.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Nachrichtenzuordnungen - Übersicht
Zugehörige Tasks
Nachrichtenflüsse entwickeln
ESQL erstellen
Gespeicherte Prozeduren aufrufen
Zugehörige Verweise
Integrierte Knoten
ESQL-Referenz
Die Anweisung CREATE FUNCTION
Die Anweisung CREATE MODULE
Die Anweisung CREATE PROCEDURE
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 18.05.2006
ak01090_