Різниця між тригером і процедурою

Автор: Laura McKinney
Дата Створення: 1 Квітень 2021
Дата Оновлення: 13 Травень 2024
Anonim
БОТОКС ДЛЯ ВОЛОС, КЕРАТИНОВОЕ ВЫПРЯМЛЕНИЕ, НАНОПЛАСТИКА ЧТО ЭТО ? КАКУЮ ПРОЦЕДУРУ ВЫБРАТЬ ?
Відеоролик: БОТОКС ДЛЯ ВОЛОС, КЕРАТИНОВОЕ ВЫПРЯМЛЕНИЕ, НАНОПЛАСТИКА ЧТО ЭТО ? КАКУЮ ПРОЦЕДУРУ ВЫБРАТЬ ?

Зміст


Тригер та процедура є складовою розширеного SQL. І тригер, і процедура виконують задане завдання щодо їх виконання. Принципова відмінність тригера від процедури полягає в тому, що Тригер виконується автоматично при події події, тоді як, Порядок виконується, коли явно викликається.

Обговоримо ще кілька відмінностей між тригером та процедурою за допомогою порівняльної діаграми, показаної нижче.

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняТригериПроцедури
Основні Вони автоматично виконуються при настанні зазначеної події.Вони можуть бути виконані, коли потрібно.
ДзвінокТригери не можуть бути викликані всередині процедури.Але, ви можете викликати процедуру всередині тригера.
Параметр Ми не можемо передати параметри тригерам.Ми можемо передавати параметри процедурам.
ПоверненняТригер ніколи не повертає значення при виконанні.Процедура може повернути значення / s при виконанні.


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

Тригер - це як процедура, яка автоматично виконується при настанні визначеної події. Як і процедура, тригер не потрібно викликати явно. Створюються тригери, щоб виконати якесь завдання у відповідь на виникнення якоїсь визначеної події.

Тригер можна викликати у відповідь на DDL операцій (DELETE, INSERT або UPDATE) або DML операцій (DELETE, INSERT або UPDATE) або для деяких операцій з базою даних (SERVERERROR, LOGON, LOGOFF, STARTUP або SHUTDOWN).

Спусковий механізм складається з трьох компонентів, як обговорюється нижче:

  • Подія: Подія - це якийсь інцидент, який спричинить виконання тригера. Тригер можна наказати виконати будь-який ПЕРЕД подія трапляється або може бути наказано виконати ПІСЛЯ виконання події.
  • Умова: Це необов'язкова частина тригера. Якщо не згаданий тригер, буде виконуватися, коли відбудеться вказана подія. Якщо умова вказана, то вона перевірить правила, щоб визначити, чи слід виконувати тригер.
  • Дія: Дія - це набір операторів SQL, які будуть виконані при виконанні тригера.

Загальна форма створення події розглядається нижче:


СТВОРИТИ ТРІГЕР ДО ПІСЛЯ УМОВА ДІЯ;

Тут Умова необов’язковий.

Визначення процедур

Процедура може сприйматися як програмний блок, створений для виконання якогось завдання і зберігається в базі даних. Вони викликаються оператором SQL, коли потрібно. Процедури схожі на визначені користувачем функції, які визначені розробниками. Процедури можна викликати за допомогою НАЗВАЙТЕ або ВИКОНАТИ.

Процедури корисні в наступних ситуаціях:

  • Якщо процедуру вимагає кілька інших додатків, вони можуть зберігатися на сервері, щоб їх можна було викликати будь-якою програмою. Це зменшить зусилля щодо дублювання процедури з однієї бази даних в іншу, а також підвищить модульність програмного забезпечення.
  • Оскільки процедура виконується на сервері, це зменшить передачу даних, а також знизить вартість зв'язку.
  • Процедури можуть бути використані для перевірки складних обмежень, які виходять за межі сили тригера.

Обговоримо загальну форму створення процедури:

ТВОРЧИЙ ПРОЦЕДУРА () ПОВЕРНЕННЯ ;

Тут параметри та локальні декларації необов’язкові. Вони згадуються лише тоді, коли вимагаються. У нижченаведеній заяві описано виклик процедур.

НАЗВАЙТЕ () ;

  1. Основна відмінність тригера від процедури полягає в тому, що тригер - це твердження, яке автоматично викликається, коли відбулася подія. З іншого боку, процедура викликається, коли вона потрібна.
  2. Можна визначити процедуру всередині тригера. Але тригер ніколи не визначається всередині процедури, оскільки тригер повинен викликатись автоматично при виникненні будь-якої події.
  3. Ми можемо передавати параметри процедурам, але ми не можемо передавати параметри для запуску, оскільки вони не викликаються нами.
  4. Процедура може повернути значення параметрів або код, але тригер не може.

Висновок:

Тригери корисні, але їх уникають, якщо є альтернатива їм, оскільки це збільшує складність даних. Іноді тригери також є замінниками відповідної процедури.