Поделиться через


Выполнение хранимых процедур

Хранимая процедура представляет собой исполняемый объект, хранящийся в базе данных. 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)