пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

I семестр:
» Базы данных

Хранимые процедуры и триггеры.

Хранимая процедура представляет собой подпрограмму, расположенную на сервере и вызываемую из приложения клиента. Использование этих объектов увеличивает скорость доступа к БД по следующим причинам:
1. вместо текста запроса, который может быть достаточно длинным, серверу передается по сети относительно короткое обращение к хранимой процедуре;
2. хранимая процедура, в отличие от запроса, не требует предварительной синтаксической проверки.
Еще одним преимуществом при обращении к хранимым процедурам является то, что будучи общими для всех приложений-клиентов, они реализуют единые для них правила работы с БД.

Для написания хранимых процедур и триггеров используется язык хранимых процедур. Язык хранимых процедур сервера InterBase представляет собой процедурный алгоритмический язык, а его синтаксис имеет много общего с синтаксисом языка Pascal. Кроме того, язык хранимых процедур обладает рядом возможностей языка SQL.
Виды хранимых процедур. По числу строк, возвращаемых в качестве результата:

  • Процедуры, возвращающие одну строку, практически не отличаются от процедур языка Pascal и обеспечивают возврат значений выходных параметров. Такие хранимые процедуры также называют процедурами действия.
  • Процедуры, возвращающие несколько строк, передают набор данных, записями в котором являются строки результатов. Такие хранимые процедуры также называют процедурами выбора.

В зависимости от вида хранимой процедуры различаются способы ее вызова. Хранимая процедура выбора возвращает набор данных, состоящий в общем случае из нескольких записей. Поэтому при ее вызове нужно обеспечить возможность приема совокупности записей. В связи с этим хранимая процедура выбора, как правило, вызывается с помощью инструкции выбора SELECT, внутри которой размещается вызов процедуры. 
Например: SELECT * FROM pSalary2 (2000, 3000)
Вызов хранимой процедуры действия. Хранимая процедура действия вызывается инструкцией следующего формата: EXECUTE PROCEDURE <Имя процедуры> [(<Список входных параметров>)]

Использование триггеров. Триггер представляет собой процедуру, которая находится на сервере БД и вызывается автоматически при модификации записей БД, т. е. при изменении столбцов или при их удалении и добавлении. В отличие от хранимых процедур, триггеры нельзя вызывать из приложения клиента, а также передавать им параметры и получать от них результаты.
Триггер по своей сути похож на обработчики событий BeforeEdit, AfterEdit, Beforelnsert, Afterlnsert, BeforeDelete и AfterDelete, связанных с модификацией таблиц. Триггер может вызываться при редактировании, добавлении или удалении записей до и/или после этих событий. Изменения, внесенные триггером в транзакции, которая оказалась отмененной, также отменяются.Триггеры обычно используются для программной реализации так называемых бизнес-правил. С их помощью удобно реализовывать различные ограничения, например, ограничения на значения столбцов или ограничения ссылочной целостности, а также выполнять такие действия, как накапливание статистики, работы с БД или резервное копирование записей.

27.01.2014; 21:43
хиты: 94
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь