Выполнение хранимых процедур
Хранимая процедура представляет собой исполняемый объект, хранящийся в базе данных. SQL Server поддерживает:
Хранимые процедуры
Одна или несколько инструкций SQL предварительно откомпилированы в одну исполняемую процедуру.
Расширенные хранимые процедуры
Библиотеки динамических ссылок (DLL) C или C++, написанные с использованием API-интерфейса служб SQL Server Open Data Services для расширенных хранимых процедур. API-интерфейс служб Open Data Services расширяет возможности хранимых процедур, позволяя им использовать код на C или C++.
При выполнении инструкций путем вызова хранимой процедуры для источника данных (в противоположность непосредственному выполнению или подготовке инструкций в клиентском приложении) можно получить следующие преимущества.
Более высокая производительность
Инструкции SQL анализируются и компилируются во время формирования процедур. Затем эта дополнительная нагрузка компенсируется при выполнении процедур.
Снижение сетевых издержек
Когда вместо отправки по сети сложных запросов выполняется процедура, это способствует сокращению объема сетевого трафика. Если при выполнении хранимой процедуры приложение ODBC использует синтаксическую конструкцию ODBC {CALL}, драйвер ODBC принимает дополнительные меры по оптимизации, которые снимают необходимость преобразования данных параметров.
Повышение уровня согласованности
Если правила организации реализованы в центральном ресурсе, таком, как хранимая процедура, их можно кодировать, тестировать и отлаживать в один прием. Затем индивидуальные программисты могут использовать эти протестированные хранимые процедуры, не разрабатывая собственных реализаций.
Более высокая точность
Поскольку хранимые процедуры, как правило, создаются опытными программистами, они обычно бывают более эффективными и содержат меньше ошибок, нежели код, создаваемый многократно программистами различных уровней компетентности.
Дополнительные функциональные возможности
Расширенные хранимые процедуры могут использовать функции C и C++, недоступные в инструкциях Transact-SQL.
Пример вызова хранимой процедуры см. в разделе Коды возврата процесса и выходные параметры (ODBC).
В этом разделе
См. также:
SQL Server Native Client (ODBC)
Инструкции по выполнению хранимых процедур (ODBC)