- •Содержание
- •Введение
- •Лабораторная работа № 1. Создание бд
- •Создание базы данных, состоящей из одного файла данных и файла журнала, с помощью Transact-sql
- •Использование мастера dts Import/Export Wizard
- •Копирование таблиц и представлений
- •Создание резервной копии бд msdb с помощью sql Server
- •Полное восстановление базы данных
- •Восстановление состояния базы данных на определенный момент времени
- •Лабораторная работа № 2. Восстановление баз данных
- •Создание пользовательской роли бд sql Server
- •Работа с sql Query Analyzer и выполнение запроса
- •Исполнение оператора select
- •Просмотр результатов запроса
- •Исправление оператора Transact-sql
- •Вывод вкладки Estimated Execution Plan
- •Лабораторная работа № 3. Создание триггеров и управление ими
- •Создание простых триггеров для таблицы Authors из базы данных BookShopDb
- •Проверка триггеров таблицы Authors
- •Лабораторная работа № 4. Подключение проекта microsoft access к базе данных microsoft sql server (adp)
- •Список литературы
Лабораторная работа № 3. Создание триггеров и управление ими
В этом упражнении вы создадите и проверите триггер, который выводит сообщение о своем срабатывании. Далее вы попробуете управлять триггерами: переименуете созданный триггер, измените и просмотрите его содержимое, отключите триггер и удалите его из базы данных. Код, расположенный после конструкции AS, преднамеренно упрощен.
Создание простых триггеров для таблицы Authors из базы данных BookShopDb
Откройте Query Analyzer и подключитесь к локальному серверу.
На панели Editor в окне Query введите и исполните следующий код:
USE BookShopDB
GO
CREATE TRIGGER dbo.insertindicator
ON dbo.authors
AFTER INSERT
AS
PRINT ‘The insert trigger fired.’
Оператор CREATE TRIGGER создает триггер Insertindicator и привязывает его к таблице Authors в базе данных BookShopDB. Этот триггер срабатывает при добавлении данных в таблицу Authors и выводит на панели Grids вкладки Results сообщение.
На панели Editor в окне Query введите и исполните следующий код:
CREATE TRIGGER dbo.updateindicator
ON dbo.authors
AFTER UPDATE
AS
PRINT ‘The updatet trigger fired.’
GO
CREATE TRIGGER dbo.deleteindicator
ON dbo.authors
AFTER DELETE
AS
IF ©aROWCOUNToO
PRINT ‘The insert trigger fired.’
Оператор CREATE TRIGGER создает триггеры UpdateIndicator и DeleteIndicator и привязывает их к таблице Authors в базе данных BookShopDB. Если происходит событие UPDATE или DELETE, эти триггеры выводят на панели Grids вкладки Results сообщение. Обратите внимание, что триггер DeleteIndicator проверяет значение функции @@ROWCOUNT. Если удалена одна или несколько строк, выводится сообщение.
Проверка триггеров таблицы Authors
1. На панели Editor в окне Query введите и исполните следующий код:
INSERT INTO authors (firstname, lastname, yearborn, yeardied)
VALUES (‘Max’, ‘Doe’, 1962, ‘N/A’)
В таблицу Authors добавляется запись, триггер Insertindicator срабатывает и выводит сообщение на вкладке Messages панели Results.
2. На панели Editor в окне Query введите и исполните следующий код:
UPDATE authors
SET authors, firstname= ’Tucker’
WHERE authors.firstname= ‘Max’
В таблице Authors обновляется запись, триггер UpdateIndicator срабатывает и выводит сообщение на вкладке Messages панели Results.
Переименование, модификация и просмотр тириггера
На панели Editor в окне Query введите и исполните следующую команду для запуска хранимой процедуры:
sp_rename@objname=insertindicator, @newname=insupdcontrol
Системная хранимая процедура sp_rename переименовывает триггер Insertindicator в InsUpdControl. Позже вы модифицируете этот триггер так, чтобы он срабатывал на событие INSERT и UPDATE.
Исполните запрос.
На вкладке Messages панели Results выводится предупреждение о том, что переименование объкте может повлечь за собой сбои в работе сценариев и хранимых процедур. Это сообщение также свидетельствует об успешном завершении операции переименования.
3. Введите на панели Editor в окне Query введите и исполните следующую команду для запуска хранимой процедуры:
sp_helptrigger (atabname=authors)
Системная хранимая процедура sp_helptrigger выводит список триггеров, применяемых к таблице Authors.
