Помощь в написании студенческих работ
Антистрессовый сервис

Создание логических триггеров

РефератПомощь в написанииУзнать стоимостьмоей работы

WHERE Датаоформления BETWEEN DATEADD (month, -2, GETDATE ()) AND GETDATE (). SELECT c. Фамилия +' '+ c. Имя +' '+c.Отчество AS 'Заказы',. Удаляемый товар отсутствует в заказах; Остаток товара на складе нулевой. DELETE ТОВАР WHERE ID IN (SELECT ID FROM deleted). FROM Покупатели c INNER JOIN Заказы o. IF EXISTS (SELECT 1 FROM ДЕТАЛИЗАКАЗА od. Create trigger удаленияпродукта. ELSE IF EXISTS (SELECT… Читать ещё >

Создание логических триггеров (реферат, курсовая, диплом, контрольная)

С помощью триггеров можно проводить «каскадное» изменение данных в связанных таблицах, что обеспечит ссылочную целостность данных в базе.

Создадим триггер, который позволит удалять товар из таблицы товары, только при условии, что его нет в заказах и остаток на складе нулевой.

Создание триггера, с помощью которого можно удалить товар с условиями.

CREATE TRIGGER УДАЛЕНИЯПРОДУКТА.

ON ТОВАРЫ.

INSTEAD OF DELETE.

AS.

IF @@ROWCOUNT = 0.

RETURN.

SET NOCOUNT ON.

IF EXISTS (SELECT 1 FROM ДЕТАЛИЗАКАЗА od.

JOIN deleted d.

ON od. ТоварID = d. ID).

RAISERROR ('Товар не может быть удален т.к. стоит в заказах', 10, 1).

ELSE IF EXISTS (SELECT 1 FROM СКЛАД s.

JOIN deleted d.

ON s. ТоварID = d.ID.

WHERE s. Количество 0).

RAISERROR ('Товар не может быть удален т.к. есть остаток на складе', 10, 2).

ELSE.

DELETE ТОВАР WHERE ID IN (SELECT ID FROM deleted).

GO.

Эта команда создаст триггер, который удаляет товары из таблицы товары, с условиями:

  • · удаляемый товар отсутствует в заказах;
  • · остаток товара на складе нулевой.

Создание запросов

Запросы? это объект базы данных, который служит для извлечения данных из таблиц и предоставления их пользователю в удобном виде. Особенность запросов состоит в том, что они черпают данные из базовых таблиц и создают на их основе временную таблицу. Применение запросов позволяет избежать дублирования данных в таблицах и обеспечивает максимальную гибкость при поиске и отображении данных в базе данных [10].

1. Создание запроса, с помощью которого можно вывести информацию о заказах.

SELECT c. Фамилия +' '+ c. Имя +' '+c.Отчество AS 'Заказы',.

o.СотрудникID Сотрудники, Датаоформления, p. НАЗВАНИЕ, pd. Текстовоеописание, od.Цена.

FROM Покупатели c INNER JOIN Заказы o.

ON c. ID = o.ПокупательID.

INNER JOIN Детализаказа od.

ON o. ID = od.ЗаказID.

INNER JOIN ТОВАРЫ p.

ON od. ТоварID = p.ID.

INNER JOIN Деталитовара pd.

ON p. ID = pd.ID.

WHERE o. СотрудникID is NULL;

Эта команда создаст запрос, который выводит информацию о заказах, в которых клиенты, сделали заказ без помощи консультанта.

2. Создание запроса, с помощью которого можно вывести все продажи за последние два месяца в хронологическом порядке.

SELECT Датаоформления, c. Имя +' '+ c. Фамилия +' '+ c. Отчество AS Покупатели,.

p.Название, pd. ТоварID, od. Количествопродонного, od.Цена.

FROM Покупатели c.

INNER JOIN ЗАКАЗЫ o.

ON c. ID = o.ПокупательID.

INNER JOIN Детализаказа od.

ON o. ID = od.ЗаказID.

INNER JOIN ТОВАРЫ p.

ON od. ТоварID = p.ID.

INNER JOIN ДЕТАЛИЗАКАЗА pd.

ON p. ID = pd.ЗаказID.

WHERE Датаоформления BETWEEN DATEADD (month, -2, GETDATE ()) AND GETDATE ().

ORDER BY Датаоформления;

Эта команда создаст запрос, который выводит информацию о продажах за последние два месяца в хронологическом порядке.

Показать весь текст
Заполнить форму текущей работой