Séquence d’échappement d’appel de procédure
ODBC utilise des séquences d’échappement pour les appels de procédure. La syntaxe de cette séquence d’échappement est la suivante :
{[ ?=]call procedure-name[([parameter][,[parameter]]...)]}
Dans la notation BNF, la syntaxe est la suivante :
ODBC-procedure-escape ::=
| ODBC-esc-initiator [ ?=] call procedure ODBC-esc-terminator
procédure ::= procedure-name | procedure-name (procedure-parameter-list)
procedure-identifier ::= user-defined-name
procedure-name ::= procedure-identifier
| nom du propriétaire.procedure-identifier
| catalog-name catalog-separator procedure-identifier
| catalog-name catalog-separator [owner-name].procedure-identifier
(La troisième syntaxe est valide uniquement si la source de données ne prend pas en charge les propriétaires.)
owner-name ::= user-defined-name
catalog-name ::= user-defined-name
catalog-separator ::= {implementation-defined}
(Le séparateur de catalogue est retourné via SQLGetInfo avec l’option d’informations SQL_CATALOG_NAME_SEPARATOR.)
procedure-parameter-list ::= procedure-parameter
| procedure-parameter, procedure-parameter-list
procedure-parameter ::= dynamic-parameter | littéral | empty-string
empty-string ::=
ODBC-esc-initiator ::= {
ODBC-esc-terminator ::= }
(Si un paramètre de procédure est une chaîne vide, la procédure utilise la valeur par défaut pour ce paramètre.)
Pour déterminer si la source de données prend en charge les procédures et que le pilote prend en charge la syntaxe d’appel de procédure ODBC, une application peut appeler SQLGetInfo avec le type d’informations SQL_PROCEDURES.