Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tbd_ex.doc
Скачиваний:
2
Добавлен:
21.04.2019
Размер:
347.14 Кб
Скачать

20.Сценарии, триггеры:

Сценарий (script) представляет собой набор операторов Transact-SQL, хранимых в файле. Сценарии часто используются для постоянного хранения команд для выборки, записи, создания и заполнения объектов баз данных. Так как сценарии хранятся в текстовых файлах, то они могут быть использованы для воссоздания базы данных на другом сервере.

В сценарий можно включить любой допустимый оператор Transact-SQL. Внутри сценария операторы группируются в пакеты(Batches), которые отделяются друг от друга командой GO. Эта команда записывается в отдельной строке. Если сценарий выполняется без GO, то он рассматривается как один пакет.

Триггер - особая разновидность хранимой процедуры, которая выполняется в тех случаях, когда пользователь пытается добавить, удалить или модифицировать данные. В триггере определяется тип запроса (INSERT, DELETE или UPDATE) и таблица, с которыми он связан.

Во время выполнения триггера создаются две специальные таблицы - INSERTED и DELETED. В них находятся записи, соответственно добавляемые или удаляемые запросами в таблице, для которой создан триггер.

CREATE TRIGGER имя_триггера

BEFORE | AFTER <триггерное_событие>

ON <имя_таблицы>

[REFERENCING

<список_старых_или_новых_псевдонимов>]

[FOR EACH { ROW | STATEMENT}]

[WHEN(условие_триггера)]

<тело_триггера>

Время запуска триггера определяется с помощью ключевых слов BEFORE (триггер запускается до выполнения связанных с ним событий) или AFTER (после их выполнения).

Выполняемые триггером действия задаются для каждой строки (FOR EACH ROW), охваченной данным событием, или только один раз для каждого события (FOR EACH STATEMENT).

Обозначение <список_старых_или_новых_псевдонимов> относится к таким компонентам, как старая или новая строка (OLD / NEW) либо старая или новая таблица (OLD TABLE / NEW TABLE). Ясно, что старые значения не применимы для событий вставки, а новые – для событий удаления.

21.Хранимые процедуры:

Хранимые процедуры представляют собой набор команд SQL, которые могут компилироваться и храниться на сервере. Таким образом, вместо того, чтобы хранить часто используемый запрос, клиенты могут ссылаться на соответствующую хранимую процедуру. Это обеспечивает лучшую производительность, поскольку данный запрос должен анализироваться только однажды и уменьшается трафик между сервером и клиентом. Хранимые процедуры могут обеспечить лучшую производительность потому, что меньше информации требуется для пересылки между клиентом и сервером. Выбор увеличивает нагрузку на сервер БД, но снижает затраты на стороне клиента. Важная область применения хранимых процедур - ограничение доступа к базе данных. Например, можно запретить для пользователей доступ на добавление записей в таблицу, и выполнять добавление записей с помощью специальной хранимой процедуры, доступ к которой открыт для всех.

CREATE PROCEDURE имя_процедуры ([параметр_процедуры[,...]])

[характеристика ...] тело_подпрограммы

параметр_процедуры:

[ IN | OUT | INOUT ] имя_параметра тип

Хранимая процедура вызывается, используя выражение CALL <имя процедуры>(параметр);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]