Тригери INSTEAD OF (DML)

Створення та оптимізація тригерів у SQL Server

Florin Angelescu

Instructor

Визначення та властивості

  • Виконує набір дій під час спрацювання
  • Дії виконуються замість події DML
  • Подія DML більше не запускається
  • Використовується з операторами INSERT, UPDATE і DELETE для таблиць або подань
Створення та оптимізація тригерів у SQL Server

Передумови для тригера INSTEAD OF

| ID  | Customer        | Product   | Price | Quantity | OrderDate  | TotalAmount |
|-----|-----------------|-----------|-------|----------|------------|-------------|
| 284 | VitaFruit       | Orange    | 0.76  | 75       | 2018-09-17 | 57.00       |
| 330 | Healthy Choices | Raspberry | 1.96  | 200      | 2018-10-29 | 392.00      |
| 302 | World of Fruits | Pineapple | 4.16  | 25       | 2018-10-09 | 104.00      |
| 248 | Fruit Mania     | Plum      | 1.11  | 300      | 2018-08-11 | 333.00      |
| 358 | Fruit Mag       | Pomelo    | 1.11  | 750      | 2018-11-29 | 832.50      |
| 100 | VitaFruit       | Avocado   | 2.91  | 500      | 2018-03-29 | 1455.00     |
Створення та оптимізація тригерів у SQL Server

Передумови для тригера INSTEAD OF

  • Цільова таблиця
  • Опис тригера
  • Подія спрацювання (DML)
  • Назва тригера
  • Orders
  • Заборонити оновлення наявних записів
  • UPDATE
  • PreventOrdersUpdate
Створення та оптимізація тригерів у SQL Server

Визначення тригера INSTEAD OF

CREATE TRIGGER PreventOrdersUpdate

ON Orders
INSTEAD OF UPDATE
AS RAISERROR ('Updates on "Orders" table are not permitted. Place a new order to add new products', 16, 1);
Створення та оптимізація тригерів у SQL Server

Давайте потренуємось!

Створення та оптимізація тригерів у SQL Server

Preparing Video For Download...