Partager via


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.