От Вас могут ожидать, как от разработчика базы данных, что Вы будете проектировать и реализовывать логику в базе данных, чтобы воплотить бизнес-правила или согласованность данных с использованием хранимых процедур или пользовательских функций. Или Вы могли бы быть ответственным за изменение и поддержание существующих модулей, написанных другими разработчиками.
Из этого модуля Вы узнаете, как создать хранимые процедуры и определяемые пользователем функции. Вы также узнаете, как осуществить структурированную обработку ошибок и управлять контекстом выполнения. Реализация Хранимых Процедур
Хранимая процедура это именованная группа операторов Transact-SQL, откомпилированных в единый план выполнения. Хранимые процедуры могут помочь вам в достижении согласованности реализации логики через приложения.
Этот урок описывает хранимые процедуры и какие преимущества они могут предоставить для Ваших приложений базы данных. Вы также узнаете, как изменить или удалить существующие хранимые процедуры.
Хранимая процедура - именованная коллекция операторов Transact-SQL, которая хранится на сервере непосредственно в базе данных. Хранимые процедуры – это метод инкапсулирования повторяющихся задач; они поддерживают пользовательские переменные, условные операторы и другие возможности программирования.
Хранимые процедуры в Microsoft® SQL Server™ подобны процедурам в других языках программирования, в которых они могут:
■ Содержать операторы, которые выполняют операции в базе данных, включая способность вызывать другие хранимые процедуры.
■ Принимать входные параметры.
■ Возвращать значение состояния вызова хранимой процедуры или пакета: успешное или неудачное.
■ Возвращать множество значений хранимой процедуры или приложения-клиента в форме выходных параметров.
Хранимые процедуры предлагают многочисленные преимущества перед выполнением запросов Transact-SQL. Они могут:
Инкапсулировать прикладные функциональные возможности и создавать прикладную логику многократного использования. Бизнес-правила или политики, формируемые в хранимых процедурах, могут изменяться в одном месте. Все клиенты могут использовать одни и те же хранимые процедуры, чтобы гарантировать согласованный доступ к данным и модификацию.
Оградить пользователей от деталей организации таблиц в базе данных. Если ряд хранимых процедур поддерживают все бизнес-функции, которые пользователи должны выполнять, то пользователи никогда не должны обращаться непосредственно к таблицам.
Обеспечить механизмы безопасности. Пользователям можно предоставить разрешение выполнить хранимую процедуру, даже если у них нет разрешения обратиться к таблицам или представлениям, на которые ссылается хранимая процедура.
Улучшить производительность. Хранимые процедуры осуществляют много задач как серия операторов Transact-SQL. К результатам первых операторов Transact-SQL может быть применена условная логика, чтобы определить, какие последующие операторы Transact-SQL должны выполняться. Все эти операторы Transact-SQL и условная логика становятся частью единственного плана выполнения на сервере.
Уменьшить сетевой трафик. Вместо того, чтобы посылать сотни операторов Transact-SQL по сети, пользователи могут выполнить сложную операцию, посылая единственный оператор, который сокращает количество запросов, проходящих между клиентом и сервером.
Уменьшить уязвимость от атак SQL. Использование явно определенных параметров в SQL коде устраняет возможность того, что хакер мог представить внедренные операторы SQL в значениях параметра.