Sequenza di escape per chiamata di procedura
ODBC usa sequenze di escape per le chiamate di routine. La sintassi di questa sequenza di escape è la seguente:
{[?=]call procedure-name[([parameter][,[parameter]]...)]}
Nella notazione BNF la sintassi è la seguente:
ODBC-procedure-escape ::=
| ODBC-esc-initiator [?=] call procedure ODBC-esc-terminator
procedure ::= procedure-name procedure-name | (procedure-parameter-list)
procedure-identifier ::= user-defined-name
procedure-name ::= procedure-identifier
| owner-name.identificatore di routine
| catalog-name catalog-separator procedure-identifier
| catalog-name catalog-separator [owner-name].identificatore di routine
La terza sintassi è valida solo se l'origine dati non supporta i proprietari.
owner-name ::= user-defined-name
catalog-name ::= user-defined-name
catalog-separator ::= {implementation-defined}
Il separatore di catalogo viene restituito tramite SQLGetInfo con l'opzione di informazioni SQL_CATALOG_NAME_SEPARATOR.
procedure-parameter-list ::= procedure-parameter
| procedure-parameter, procedure-parameter-list
procedure-parameter ::= valore letterale | dynamic-parameter | empty-string
empty-string ::=
ODBC-esc-initiator ::= {
ODBC-esc-terminator ::= }
Se un parametro di routine è una stringa vuota, la routine usa il valore predefinito per tale parametro.
Per determinare se l'origine dati supporta le procedure e il driver supporta la sintassi di chiamata alla routine ODBC, un'applicazione può chiamare SQLGetInfo con il tipo di informazioni SQL_PROCEDURES.