Создание триггеров в SQL.
Использование среды SQL Server Management Studio
В обозревателе объектов подключитесь к экземпляру ядра СУБД, а затем разверните этот экземпляр.
Разверните узел Базы данных, разверните базу данных AdventureWorks2022 , разверните узел Таблицы , а затем таблицу Purchasing.PurchaseOrderHeader.
Правой кнопкой мыши щелкните элемент Триггеры, а затем выберите пункт Создать триггер.
В меню Запрос выберите пункт Указать значения для параметров шаблона. Можно также нажать клавиши CTRL-SHIFT-M, чтобы открыть диалоговое окно Задание значений для параметров шаблона .
В диалоговом окне Задание значений для параметров шаблона введите для показанных параметров следующие значения.
Параметр
|
значение
|
Автор
|
Ваше имя
|
Create Date
|
Сегодняшняя дата
|
Description
|
Проверяет кредитоспособность поставщика, прежде чем позволить вставить новый заказ на покупку от этого поставщика.
|
Имя_схемы
|
Покупки
|
Имя_триггера
|
NewPODetail2
|
Имя_таблицы
|
PurchaseOrderDetail
|
Команда_изменения_данных
|
Удаление инструкций UPDATE и DELETE из списка.
|
Щелкните OK.
В редакторе запросовзамените комментарий -- Insert statements for trigger here следующей инструкцией:
SQLКопировать
IF @@ROWCOUNT = 1
BEGIN
UPDATE Purchasing.PurchaseOrderHeader
SET SubTotal = SubTotal + LineTotal
FROM inserted
WHERE PurchaseOrderHeader.PurchaseOrderID = inserted.PurchaseOrderID
END
ELSE
BEGIN
UPDATE Purchasing.PurchaseOrderHeader
SET SubTotal = SubTotal +
(SELECT SUM(LineTotal)
FROM inserted
WHERE PurchaseOrderHeader.PurchaseOrderID
= inserted.PurchaseOrderID)
WHERE PurchaseOrderHeader.PurchaseOrderID IN
(SELECT PurchaseOrderID FROM inserted)
END;
Чтобы проверить синтаксис, в меню Запрос выберите пункт Синтаксический анализ. Если появится сообщение об ошибке, сравните эту инструкцию с вышеуказанной информацией, внесите исправления и повторите этот шаг.
Чтобы создать триггер DML, в меню Запрос нажмите Выполнить. Триггер DML создается как объект в базе данных.
Чтобы увидеть этот триггер DML в обозревателе объектов, щелкните правой кнопкой мыши элемент Триггеры и выберите пункт Обновить.
Do'stlaringiz bilan baham: |