プロシージャ呼び出しのエスケープ シーケンス
ODBC では、プロシージャ呼び出しにエスケープ シーケンスを使用します。 このエスケープ シーケンスの構文は次のとおりです。
{[?=]call procedure-name[([parameter][,[parameter]]...)]}
BNF 表記では、構文は次のようになります。
ODBC-procedure-escape ::=
| ODBC-esc-initiator [?=] 呼び出し odbc-esc-terminator
procedure ::= procedure-name | procedure-name (procedure-parameter-list)
procedure-identifier ::= user-defined-name
procedure-name ::= procedure-identifier
| owner-name.procedure-identifier
| catalog-name catalog-separator procedure-identifier
| catalog-name catalog-separator [owner-name].procedure-identifier
(3 番目の構文は、データ ソースが所有者をサポートしていない場合にのみ有効です)。
owner-name ::= user-defined-name
catalog-name ::= user-defined-name
catalog-separator ::= {implementation-defined}
(カタログ区切り記号は、 を介して返されます。SQLGetInfo SQL_CATALOG_NAME_SEPARATOR情報オプションを使用)。
procedure-parameter-list ::= procedure-parameter
| procedure-parameter, procedure-parameter-list
procedure-parameter ::= dynamic-parameter | literal | empty-string
empty-string ::=
ODBC-esc-initiator ::= {
ODBC-esc-terminator ::= }
(プロシージャ パラメーターが空の文字列の場合、プロシージャはそのパラメーターの既定値を使用します)。
データ ソースがプロシージャをサポートしていて、ドライバーが ODBC プロシージャ呼び出し構文をサポートしているかどうかを判断するために、アプリケーションはSQL_PROCEDURES情報の種類で SQLGetInfo を呼び出すことができます。