Вызов хранимых процедур (ODBC)
Когда инструкция SQL вызывает хранимую процедуру с помощью escape-предложения ODBC CALL, драйвер Microsoft SQL Server отправляет процедуру SQL Server с помощью механизма удаленного вызова хранимых процедур (RPC). Запросы RPC пропускают большую часть синтаксической проверки и обработки параметров инструкции в SQL Server; они быстрее, чем инструкция Transact-SQL EXECUTE.
Пример приложения, демонстрирующий эту функцию, см. в разделе Обработка кодов возврата и выходных параметров (ODBC).
Выполнение процедуры с помощью RPC
Сконструируйте инструкцию SQL, использующую escape-последовательность ODBC CALL. В этой инструкции для каждого входного, входного-выходного и выходного параметров, а также для возвращаемого процедурой значения (при его наличии) используются маркеры параметров.
{? = CALL procname (?,?)}
Вызовите SQLBindParameter для каждого параметра входа, входа-выхода и выхода, а также для значения, возвращаемого процедурой (если оно имеется).
Выполните инструкцию с помощью SQLExecDirect.
Примечание
Если приложение отправляет процедуру при помощи синтаксиса Transact-SQL EXECUTE (в отличие от escape-последовательности ODBC CALL), драйвер SQL Server ODBC передает этот вызов процедуры SQL Server в виде инструкции SQL, а не RPC. Кроме того, при использовании инструкции Transact-SQL EXECUTE выходные параметры не возвращаются.
См. также:
Инструкции по выполнению хранимых процедур (ODBC)
Создание пакетной обработки вызовов хранимых процедур
Выполнение хранимых процедур
Вызов хранимой процедуры
Процедуры