русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Триггеры UPDATE.


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


Этот вид триггеров используется для ограничения инструкций обновления данных (триггер UPDATE – для перехвата и сверки модификации данных).

Триггер UPDATEиспользует обе таблицы – inserted и deleted. Это объясняется тем, что триггер UPDATEиспользует два действия - удаление и вставку.

 

пример: допустим, у нас есть таблица «Sotrydnik» БД “Ludi”. Необходимо предотвратить вставлять запись с отрицательным окладом.

 

1. Открыть SQL Server Management Studio. В окне Object ExplorerразвернутьпапкуБД «Ludi” - Programmability – Triggers.

2. Щелкаем правой кнопкой мыши на папке Triggersи выбираем командуNewTriggers.

3. В нашем случае триггер будет выглядеть следующим образом:

 

CREATE TRIGGER PRIMER3

ON SOTRYDNIK

AFTER update

AS

BEGIN

SET NOCOUNT ON;

IF (SELECT OKLAD FROM INSERTED)<0

PRINT'НЕЛЬЗЯ ВСТАВЛЯТЬ ЗАПИСЬ С ОТРИЦАТЕЛЬНЫМ ОКЛАДОМ'

ROLLBACK

END

4. Выполняем триггер, нажав на кнопку

 

на панели инструментов. В результате в нижней части экрана мы увидим строчку «Command(s) completedsuccessfully».

5. Далее сохраняем триггер, щелкнув по кнопке Save

6. Чтобы протестировать новый триггер, необходимо создать запрос, нажав на кнопку New Query , следующего содержания

 

USE LUDI

UPDATE SOTRYDNIK

SET OKLAD=’-12000’

WHERE FAM=’Петров’

 

 

Выполняем запрос, щелкнув по кнопке , в нижней части окна увидим сообщение об ошибке:

Сотрудник не должен иметь отрицательный оклад

 

 

Итак, данный триггер UPDATEзапрещает вставлять запись о сотруднике с отрицательным окладом.

 

Часто возникают ситуации, когда обновление большинства столбцов не интересует, но существует один столбец , который нельзя изменять ни в коем случае.

 

пример: допустим, у нас есть таблица «Sotrydnik» БД “Ludi”. Необходимо запретить изменять столбец, содержащий номер телефона.



 

1. Открыть SQL Server Management Studio. В окне Object ExplorerразвернутьпапкуБД «Ludi” - Programmability – Triggers.

2. Щелкаем правой кнопкой мыши на папке Triggersи выбираем командуNewTriggers.

3. В нашем случае триггер будет выглядеть следующим образом:

 

CREATE TRIGGER primer4

ON sotrydnik

AFTER UPDATE

AS

BEGIN

SET NOCOUNT ON;

IFUPDATE(Telefon)

PRINT'Нельзя изменять телефонный номер сотрудника'

ROLLBACK

END

GO

4. Выполняем триггер, нажав на кнопку на панели инструментов. В результате в нижней части экрана мы увидим строчку «Command(s)completedsuccessfully».

5. Далее сохраняем триггер, щелкнув по кнопке Save

6. Чтобы протестировать новый триггер, необходимо создать запрос, нажав на кнопку New Query , следующего содержания

 

USE LUDI

UPDATE SOTRYDNIK

SET Tab_nom='89152369897'

WHERE FAM='Петров'

Выполняем запрос, щелкнув по кнопке , в нижней части окна увидим сообщение об ошибке:

Нельзя изменять номер телефона сотрудника.

 

 



<== предыдущая лекция | следующая лекция ==>
Триггеры DELETE | Триггеры INSTEAD OF


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.173 сек.