русс | укр

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

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

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

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


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

UPDATE PROPERTY


Дата добавления: 2014-02-04; просмотров: 673; Нарушение авторских прав


BEGIN

AS

FOR INSERT

ON VIEWING

CREATE TRIGGER UPDATE_PRICE

END

UPDATE STUDENTS

BEGIN

AS

FOR INSERT

ON USP

CREATE TRIGGER UPDATE_ STIP

END

ROLLBACK TRANSACTION

BEGIN

AS

FOR INSERT, UPDATE

ON USP

CREATE TRIGGER USP__INPUT

FROM USP

AS

DECLARE @X int

SELECT @X= Nom_Zach FROM DELETED

IF EXISTS(SELECT *

WHERE Nom_Zach = @X)

DELETE FROM USP WHERE Nom_Zach =@X

 

В первой строке кода создается новый триггер с именем DELCHECK для таблицы STUDENTS, активизирующийся при удалении записи. Следующим шагом является определение переменной @X, которая будет содержать значение поля Nom_Zach удаляемой записи. Затем с помощью оператора SELECT данной переменной присваивается значение поля Nom_Zach удаляемой записи, находящейся в таблице DELETED. С помощью оператора EXISTS проверяется наличие записей в таблице USP, у которых в поле Nom_Zach находится значение @X. Если такие записи найдены, то система выполняет их удаление.

Пример 3. Триггер осуществляет проверку введенной в таблицу USP оценки.

DECLARE @Mark

SELECT @Mark = Mark FROM INSERTED

IF (@Mark<2)Or (@Mark>5)

RAISERROR ('оценка должна находиться в диапазоне от 2 до5’)

 

Пример 4. Триггер для увеличения стипендии на 10% тем студентам, которые сдали зачет по спецкурсу (код предмета PKod=1278).

DECLARE @X int

DECLARE @Z int

DECLARE @P int

DECLARE @Y varchar(10)



select @X= Nom_Zach From INSERTED

select @Y= Mark From INSERTED

select @Z= PKodFrom INSERTED

select @P= Nom_Zach From USP

Where Nom_Zach = @X

if(@Y= 'зачтено' AND @Z=1278)

SET Stip = Stip*1.1

WHERE Nom_Zach=@P

Следующие триггеры созданы для БД “Продажа объектов недвижимости”. Реляционная модель данных приведена на рисунке 8.

Пример 5.Создать триггер для уменьшения цены квартиры на 5%, если при добавлении записи в таблицу VIEWING в поле COMMENT занесено значение “требует ремонта”.

 

DECLARE @X int

DECLARE @Y varchar(50)

select @X=Property_no From INSERTED

select @Y=Comments From INSERTED

if(@Y= 'требует ремонта')

SET Selling_Price=Selling_Price*0.5



<== предыдущая лекция | следующая лекция ==>
FOR DELETE | Включение и отключение триггера. Удаление триггера, Просмотр информации о триггерах


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


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

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

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


 


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

 
 

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

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