Создание триггеров и хранимых процедур (СУБД SQL Server и Transact-SQL), страница 4

(I)

1) Создать триггер запрещающий удалять информацию о поставках изделий “Эл. двигатель” и “Многоканальный телефон”.

2) Создать триггер, который запрещает производить заказы во втором полугодии текущего года. Если вводится любая дата второго полугодия текущего года, то поменять ее на 30/06/<текущий год>.

Примечание. Для определения текущей даты можно использовать функцию GetDate (), использующуюся без параметров и возвращающую полную ткущую дату и время. Для определения текущий года эту функцию можно использовать как параметр для функции DatePart (), например DatePart (month, GetDate ()). Для преобразования типов данных можно использовать функцию CONVERT(новый тип данных, переменная). Например, CONVERT(char,DatePart (month, GetDate ())).

3) Создать триггер запрещающий изменять количество поставок, если новая стоимость не превышает 5000.

4) Создать триггер, который при изменении Цены контролирует, чтобы разница между новой и старой суммой поставок не превышал 300, в противном случае действие отменяется.

Примечание. Для проверки правильности работы триггера необходимо после удаления строки в режиме просмотра содержимого таблицы (OpenTable®Returnallrows) выполнить команду Run, нажав кнопку . Если удаленная строка содержащая “запрещенную” для удаления информацию осталась в таблице – триггер работает правильно.

(II)

1)  Создать хранимую процедуру для добавления строки в таблицу ПОСТАВКА, с занесением кода модели и номера заказа в соответствии с параметрами, определяющими название модели и заказчика, а также количества поставляемых изделий.

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