Автоматизация БД. Автоматизация БД ПЗ №5. Отчет по практическому заданию 5 по теме Разработка триггеров
Скачать 1.46 Mb.
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И МОЛОДЕЖНОЙ ПОЛИТИКИ РЯЗАНСКОЙ ОБЛАСТИ ОБЛАСТНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ «РЯЗАНСКИЙ ТЕХНОЛОГИЧЕСКИЙ КОЛЛЕДЖ» Отделение информационных технологий ОТЧЕТ ПО ПРАКТИЧЕСКОМУ ЗАДАНИЮ №5 по теме «Разработка триггеров» по МДК.07.01 Управление и автоматизация баз данных Выполнил: студент группы № ИСП-18 Хитёв Артём Анатольевич Проверила: Нижегородцева Р.А Рязань, 2021 1.1 Добавить в таблицу «Мастера» поле «Оклад». Alter Table Мастера Add Оклад Money null 1.2. Разработать AFTER-триггер T1, который позволяет вносить в таблицу «Мастера» новую запись в том случае, если оклад мастера не меньше 10000 рублей и не является нулевым. Create Trigger T1 On Мастера After Insert As Declare @Цена money; Select @Цена = Оклад From inserted; If @Цена < 10000 Begin Print 'Неправильная Цена!' Rollback Tran End 1.3. Добавить новую запись в таблицу «Мастера» с помощью соответствующего запроса. 1.4. Добавить в таблицу «Заказы» поле «КоличествоЧасовНаРемонт». Alter Table Заказы Add ЧасыНаРемонт int null 1.5. Разработать INSTEAD OF-триггер T2, который позволяет вносить новую запись в таблицу «Заказы», если количество часов, затраченных на ремонт автомобиля больше 8 и не является нулевым. Create trigger T2 on Заказы instead of insert As Declare @Автомобиль nchar(40),@Мастер int,@ДатаПриёмаЗаказа date,@ВидРемонта char(40),@Стоимость money,@ЧасыНаРемонт int; Select @Автомобиль = Автомобили, @Мастер = Мастер, @ДатаПриёмаЗаказа = ДатаПриемаЗаказа, @ВидРемонта = ВидРемонта, @Стоимость = Стоимость, @ЧасыНаРемонт = ЧасыНаРемонт From inserted if @ЧасыНаРемонт > 8 insert into Заказы Values (@Автомобиль,@Мастер,@ДатаПриёмаЗаказа,@ВидРемонта,@Стоимость,@ЧасыНаРемонт); Else Begin Print 'Неверное кол-во часов!'; RollBack Tran END 1.6. Добавить новую запись в таблицу «Заказы» с помощью соответствующего запроса. Insert into Заказы Values ('ПЕ654С','7','2021-11-24','Замена деталей',9500,10) 1.7. Разработать триггер T3, удаляющий запись из таблицы «Автомобили» в случае, если год выпуска автомобиля больше 2016 Create Trigger T3 On Автомобили After Delete As Begin Declare @ГодВыпуска int; Select @ГодВыпуска = ГодВыпуска From deleted If (@ГодВыпуска < 2016) Begin Print 'Удаление Невозможно!' Rollback tran End End 1.8. Добавить две новые записи в таблицу «Автомобили» с годом выпуска 2015 и 2017. Insert into Автомобили values (' КУ567П','БМВ','Чёрный','2015') Insert into Автомобили values ('МД397Д','Лексус','Красный','2017') 1.9. С помощью соответствующего запроса удалить записи из таблицы «Автомобили». Delete From Автомобили Where ГодВыпуска =2017 |