Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_gotovy.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
511.3 Кб
Скачать

26. Язык t-sql. Триггеры. Создание и виды триггеров. Логика субд

при работе с триггерами.

Язык T-SQL-это собственный диалект языка структурированных запросов

применяемый в СУБД SQL Server. При подготовке данного выпуска СУБД SQL Server язык T-SQL был в значительной степени доработан, и в него добавлены многие новые программные конструкции. Кроме всего прочего,он был преобразован в язык, совместимый с общей средой выполненияоперационной системы Windows; короче говоря, начинаяс этого выпуска T-SQL стал одним из языков .NET.

Триггер — это специальный вид хранимой процедуры, которую SQL Server вызывает при выполнении операций модификации соответствующих таблиц.

Триггер автоматически активизируется при выполнении операции, с которой он связан.

Триггеры связываются с одной или несколькими операциями модификации над одной таблицей.

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

В отличие от обычной подпрограммы, триггер выполняется неявно в каждом случае возникновения триггерного события, к тому же он не имеет аргументов. Приведение его в действие иногда называют запуском триггера. С помощью триггеров достигаются следующие цели:

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

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

накопление аудиторской информации посредством фиксации сведений о внесенных изменениях и тех лицах, которые их выполнили;

поддержка репликации.

27. Команды работы с транзакциями. Использование поименованных

транзакций и точек сохранения. В настоящий момент выделяют следующие типы транзакций:

плоские или классические транзакции, цепочечные транзакции и

вложенные транзакции.

Плоские, или традиционные, транзакции, характеризуются четырьмя классическими свойствами:

атомарности, согласованности, изолированности,

долговечности (прочности

Возможны два варианта завершения транзакции.

1. Если все операторы .выполнены успешно и в процессе выполнения транзакции не произошло никаких сбоев программного или аппаратного обеспечения, транзакция фиксируется.

2. Если в процессе выполнения транзакции случилось нечто такое, что делает невозможным ее нормальное завершение, база данных должна быть возвращена в исходное состояние.

Откат транзакции — это действие, обеспечивающее аннулирование всех изменений данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.

В стандарте ANSI/ISO SQL определены модель транзакций и функции операторов COMMIT и ROLLBACK.

Стандарт определяет, что транзакция начинается с первого SQL-оператора, инициируемого пользователем или содержащегося в программе, изменяющего текущее состояние базы данных.

Все последующие SQL-операторы составляют тело транзакции.

Транзакция завершается одним из четырех возможных путей :

- оператор COMMIT означает успешное завершение транзакции; его использование делает постоянными изменения, внесенные в базу данных в рамках текущей транзакции;

- оператор ROLLBACK прерывает транзакцию, отменяя изменения, сделанные в базе данных в рамках этой транзакции; новая транзакция начинается непосредственно после использования ROLLBACK;

- успешное завершение программы, в которой была инициирована текущая транзакция, означает успешное завершение транзакции (как будто был использован оператор COMMIT);

-ошибочное завершение программы прерывает транзакцию (как будто был использован оператор ROLLBACK).

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