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é. |