Користувальницькі тригери

Розглянуто питання, необхідні розробнику для створення клієнт-серверних додатків з використанням СУБД Firebird, що стала розвитком СУБД Borland Interbase 6. Огляд концепцій та моделей архітектури клієнт/сервер, а також практичні рекомендації щодо роботи з клієнтськими бібліотеками Firebird. Детально описані особливості типів даних SQL, мова маніпулювання даними (Data Manipulation Language, DML), а також синтаксис та оператори мови визначення даних (Data Definition Language, DDL). Велику увагу приділено опису транзакцій та наведено поради щодо їх використання при розробці додатків. Описано програмування на стороні клієнта та сервера написання тригерів і процедур, що зберігаються, створення та використання подій бази даних, обробка помилок у коді на сервері та багато іншого. Матеріал супроводжується численними прикладами, порадами та практичними рекомендаціями.
Для розробників баз даних
Firebird КЕРІВНИЦТВО РОЗРОБНИКА БАЗ ДАНИХ
Користувальницькі тригери
Розділи на цій сторінці:
У тригерах користувача (тих, які ви пишете самі, використовуючи мову PSQL) у вас є можливість точно задати, що відбувається, коли сервер отримує запит на додавання, зміну або видалення рядків таблиці. Користувальницькі тригери
можуть застосовуватися не тільки для зміни та видалення, але й для додавання.
Тригери можуть включати обробку винятків, зворотні зв'язки та (для Firebird 1.5) плани користувача запитів.
Фази подій DML
Синтаксис тригера поділяє дії користувача DML на дві фази: перша
фаза з'являється до (BEFORE) події, а друга після (AFTER) події.
* Фаза BEFORE дає можливість керуватиперетворенням значень, які є вхідними в операторі DML, та визначати значення за замовчуванням набагато більш гнучкими способами, ніж це дозволено у стандартному SQL-обмеженні DEFAULT. Фаза BEFORE завершується перед тим, як починають перевіряти будь-які обмеження стовпця, таблиці або обмеження цілісності.
* У фазі AFTER дії у відповідь можуть бути виконані над іншими таблицями. Зазвичай такі дії включають додавання, зміни або видалення даних інших таблиць за допомогою змінних NEW та OLD для забезпечення контексту поточного рядка та операції. Фаза AFTER починається після всіх обмежень власної таблиці. Тригери AFTER не можуть змінювати значення у поточному рядку власної таблиці.
Табл. 20.1 описує шість фаз/подій користувальницьких тригерів.
Таблиця 20.1. Шість фаз/подій користувальницьких тригерів