Der als Routine (routine) bezeichnete Teil der CREATE DBPROC-Anweisung, CREATE TRIGGER-Anweisung oder CREATE FUNCTION-Anweisung ist die Implementierung der Datenbankprozedur, des Triggers oder der Datenbankfunktion. Sie besteht aus optionalen Variablendeklarationen und Anweisungen.
<routine> ::= [<local_variables>] <statement_list>;
<local_variables> ::= VAR <local_variable_list>;
<local_variable_list> ::= <local_variable> |
<local_variable_list>; <local_variable>
<local_variable> ::= <variable_name> <data_type>
<variable_name> ::= <identifier>
<statement_list> ::= <statement> | <statement_list> ; <statement>
identifier, data_type, statement
Die im Folgenden getroffenen Aussagen für Datenbankprozeduren gelten ebenfalls für Trigger bzw. Datenbankfunktionen.
Die lokalen Variablen der Datenbankprozedur müssen vor der ersten Benutzung explizit unter Angabe eines Datentyps deklariert werden. Es sind nur die Datentypen BOOLEAN, CHAR[ACTER], DATE, FIXED, FLOAT, INT[EGER], NUMBER, REAL, SMALLINT, TIME, TIMESTAMP und VARCHAR zulässig. Die Variablen können nach ihrer Deklaration beliebig in SQL-Anweisungen und Anweisungen benutzt werden.
Jede Datenbankprozedur besitzt implizit die Variablen $RC, $ERRMSG und $COUNT.
Die $RC-Variable liefert nach der Ausführung
einer SQL-Anweisung einen numerischen Fehlercode zurück. Der Wert 0 bedeutet,
daß die SQL-Anweisung erfolgreich ausgeführt wurde.
Parallel zu $RC liefert die $ERRMSG-Variable eine maximal 80 Zeichen
lange Erläuterung des Fehlers.
Die Anzahl der in einer SQL-Anweisung bearbeiteten Zeilen kann der $COUNT-Variablen entnommen werden.
Variablen kann mit Hilfe der Anweisung (assignment_statement) (siehe statement) ein Wert zugewiesen werden.
Die Anweisungsfolge (statement_list) darf nicht mehr 255 SQL-Anweisungen enthalten.