Тригери проти збережених процедур
У базі даних тригер - це процедура (сегмент коду), яка виконується автоматично, коли в таблиці / представленні відбуваються певні події. Серед інших його використання, тригери в основному використовуються для підтримки цілісності бази даних. Збережена процедура - це метод, який можна використовувати програмам, що мають доступ до реляційної бази даних. Зазвичай збережені процедури використовуються як метод перевірки даних та контролю доступу до бази даних.
Що таке тригери?
Тригер - це процедура (сегмент коду), яка виконується автоматично, коли в таблиці / перегляді бази даних відбуваються певні події. Серед інших його використання, тригери в основному використовуються для підтримки цілісності бази даних. Тригери також використовуються для дотримання правил бізнесу, аудиту змін у базі даних та реплікації даних. Найбільш поширені тригери - це тригери мови маніпуляції даними (DML), які спрацьовують під час маніпулювання даними. Деякі системи баз даних підтримують тригери без даних, які спрацьовують, коли трапляються події мови визначення даних (DDL). Деякі приклади - це тригери, які спрацьовують під час створення таблиць, під час операцій фіксації або відкату тощо. Ці тригери можна особливо використовувати для аудиту. Система баз даних Oracle підтримує тригери рівня схеми (тобто тригери, що спрацьовують при зміні схем бази даних), такі як After Creation, Before Alter, After Alter, Before Drop, After Drop тощо. Чотири основні типи тригерів, які підтримує Oracle, - це тригери рівня рівнів, Тригери рівня стовпців, тригери кожного типу рядків та тригери для кожного типу операторів.
Що таке зберігаються процедури?
Збережена процедура - це метод, який може використовуватися додатком, що отримує доступ до реляційної бази даних. Зазвичай збережені процедури використовуються як метод перевірки даних та контролю доступу до бази даних. Якщо для деяких операцій обробки даних потрібно виконати кілька операторів SQL, такі операції реалізуються як збережені процедури. При виклику збереженої процедури слід використовувати оператор CALL або EXECUTE. Збережені процедури можуть повертати результати (наприклад, результати з операторів SELECT). Ці результати можуть бути використані в інших зберігаються процедурах або додатках. Мови, які використовуються для запису збережених процедур, зазвичай підтримують структури управління, такі як if, while, for тощо. Залежно від використовуваної системи баз даних, для реалізації збережених процедур можна використовувати кілька мов (наприклад, PL / SQL та java в Oracle, T- SQL (Transact-SQL) і .NET Framework в Microsoft SQL Server). Крім того, MySQL використовує власні збережені процедури.
Яка різниця між тригерами та збереженими процедурами?
Тригер - це процедура (сегмент коду), яка виконується автоматично, коли деякі конкретні події відбуваються в таблиці / перегляді бази даних, тоді як збережена процедура - це метод, який може використовуватися додатком, що отримує доступ до реляційної бази даних. Тригери виконуються автоматично, коли відбудеться подія, на яку тригер повинен реагувати. Але для виконання збереженої процедури необхідно використовувати певний оператор CALL або EXECUTE. Тригери налагодження можуть бути складнішими і складнішими, ніж налагодження збережених процедур. Тригери дуже корисні, коли ви хочете переконатися, що щось відбувається, коли відбувається певна подія.