Corps du module
Le corps du module peut être écrit en PSQL ou être le corps d’un module externe.
<routine-body> ::=
<psql-routine-spec>
| <external-routine-spec>
<psql-routine-spec> ::=
[<rights-clause>] <psql-routine-body>
<rights-clause> ::=
SQL SECURITY {DEFINER | INVOKER}
<psql-routine-body> ::=
AS
[<declarations>]
BEGIN
[<PSQL_statements>]
END
<declarations> ::=
<declare-item> [<declare-item> ...]
<declare-item> ::=
<declare-var>;
| <declare-cursor>;
| <subroutine-declaration>;
| <subroutine-implementation>
<subroutine-declaration> ::= <subfunc-decl> | <subproc-decl>
<subroutine-implementation> ::= <subfunc-impl> | <subproc-impl>
<external-routine-spec> ::=
<external-routine-reference>
[AS <extbody>]
<external-routine-reference> ::= EXTERNAL NAME <extname> ENGINE <engine>
<extname> ::=
'<module-name>!<routine-name>[!<misc-info>]'
| Paramètre | Description |
|---|---|
declare-var |
Déclaration d’une variable locale. |
declare-cursor |
Déclaration d’un curseur nommé. |
subfunc-decl |
Déclaration d’un sous-programme - fonction. |
subproc-decl |
Déclaration d’un sous-programme - procédure. |
subfunc-impl |
Mise en œuvre de la fonction du sous-programme. |
subproc-impl |
Mise en œuvre du sous-programme - procédures. |
extbody |
Le corps de la procédure externe. Chaîne littérale qui peut être utilisée par l’UDR à diverses fins. |
module-name |
Nom du module externe dans lequel se trouve la fonction. |
routine-name |
Nom de la fonction interne dans un module externe. |
misc-info |
Informations définies par l’utilisateur à envoyer à une fonction de module externe. |
engine |
Nom du moteur pour utiliser les fonctions externes. Habituellement, le nom de l’UDR est spécifié. |