Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Понятие хранимой процедуры

Читайте также:
  1. I. Понятие и типы политических партий.
  2. I. Понятие политического лидерства.
  3. I. Понятие политической власти.
  4. I. Понятие, происхождение и признаки государства.
  5. II. Понятие и виды элиты.
  6. IX. ПРЕДСТАВЛЕНИЕ, СУЖДЕНИЕ, ПОНЯТИЕ
  7. Административные процедуры

Пожалуй, хранимые процедуры и триггеры [6,7] являются наиболее интересными объектами программирования для разработчика и полезными для пользователя, поскольку хранимые процедуры могут содержать операторы, которые взаимодействуют с программным обеспечением, расположенным на сервере вне самой базы данных. Например, хранимая процедура может послать почтовое сообщение другому пользователю или запустить на сервере программу пользователя. Используя такие возможности SQL Server, можно создать на его основе сервер прикладных задач.

Хранимые процедуры (Stored Procedures) — это подпрограммы, работающие на сервере. Одним из результатов работы хранимой процедуры может быть возвращение таблицы подобно тому, как это делает представление. Как и обычная подпрограмма, хранимая процедура может принимать аргументы и возвращать значение. Как и обычная подпрограмма, хранимая процедура может просто обрабатывать данные, не возвращая никаких значений.

Хранимые процедуры представляют собой скомпилированные и сохраненные в базе именованные последовательности операторов Transact-SQL. Причем к операторам языка, используемым в процедурах, относятся не только инструкции типа select, insert, update и т.д., но и такие операторы, как if...else, while и др. Кроме того, в Transact-SQL, как в обычном языке используются переменные, операции и функции.

Любая база данных на SQL Server содержит хранимые процедуры, даже если разработчик не создал ни одной процедуры. Эти процедуры располагаются в системных базах данных (большей частью в master) и называются системными хранимыми процедурами. В SQL Server имеется около пятисот процедур, многие из которых предназначены в основном для самой системы.

Выполнение в базе данных хранимых процедур вместо отдельных операторов SQL дает пользователю следующие преимущества:

· необходимые операторы уже содержатся в базе данных;

· все они прошли этап синтаксического анализа и находятся в исполняемом формате; перед выполнением хранимой процедуры SQL Server генерирует для нее план исполнения, выполняет ее оптимизацию и компиляцию;

· хранимые процедуры поддерживают модульное программирование, так как позволяют разбивать большие задачи на самостоятельные, более мелкие и удобные в управлении части;

· хранимые процедуры могут вызывать другие хранимые процедуры и функции;

· хранимые процедуры могут быть вызваны из прикладных программ других типов;

· как правило, хранимые процедуры выполняются быстрее, чем последовательность отдельных операторов;

· хранимые процедуры проще использовать: они могут состоять из десятков и сотен команд, но для их запуска достаточно указать всего лишь имя нужной хранимой процедуры. Это позволяет уменьшить размер запроса, посылаемого от клиента на сервер, а значит, и нагрузку на сеть.

Хранение процедур в том же месте, где они исполняются, обеспечивает уменьшение объема передаваемых по сети данных и повышает общую производительность системы. Применение хранимых процедур упрощает сопровождение программных комплексов и внесение изменений в них. Обычно все ограничения целостности в виде правил и алгоритмов обработки данных реализуются на сервере баз данных и доступны конечному приложению в виде набора хранимых процедур, которые и представляют интерфейс обработки данных. Для обеспечения целостности данных, а также в целях безопасности, приложение обычно не получает прямого доступа к данным – вся работа с ними ведется путем вызова тех или иных хранимых процедур.

Хранимые процедуры существуют независимо от таблиц или каких-либо других объектов баз данных. Они вызываются клиентской программой, другой хранимой процедурой или триггером. Разработчик может управлять правами доступа к хранимой процедуре, разрешая или запрещая ее выполнение. Изменять код хранимой процедуры разрешается только ее владельцу или члену фиксированной роли базы данных


Дата добавления: 2015-07-08; просмотров: 159 | Нарушение авторских прав


Читайте в этой же книге: ББК 32.973 | Введение | Преимущества архитектуры клиент-сервер | Состав и назначение баз данных в MS SQL Server | Используемые типы данных в SQL Server | Описание примера базы данных | Создание и удаление представлений | Выполнение хранимой процедуры | Использование MS SQL Server Management Studio для работы с объектами базы данных | Создание и сохранение базы данных |
<== предыдущая страница | следующая страница ==>
Преимущества и недостатки представлений.| Создание, изменение и удаление хранимых процедур

mybiblioteka.su - 2015-2024 год. (0.006 сек.)