МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Поняття про тригери в системі SQL Server.Лекція 4. Представлення. Представлення таблиць (view) або просто представлення, можна розглядати як вид віртуальної таблиці. З погляду користувачів додатків, представлення таблиці виглядає й використовується як звичайна таблиця. Проте у представленні зберігаються не його власні дані, а тільки посилання на дані, що розташовані в таблицях. Представлення можна використовувати для відображення підмножини стовпців однієї або декількох таблиць, що відповідають деякому запиту. За допомогою представлення можна забезпечити доступ користувачів до деякої підмножини стовпців у таблиці, залишаючи захищеними інші стовпці. Представлення створюються з використанням оператора CREATE VIEW. Можна вказати імена стовпців у представленні, щоб відобразити частину таблиці.
CREATE VIEW MyView AS SELECT EmpId, EmpName FROM Employee
Ви можете створювати представлення, що використовують набагато більш складні оператори вибору, включаючи з'єднання, в яких в одному представленні використовується комбінація даних з декількох різних таблиць. Існуючі представлення видаляються з бази даних за допомогою наступного оператора:
DROP VIEW ім'я_подання
Поняття про тригери в системі SQL Server. 13 Системні таблиці SQL сервера. 14 Системні таблиці бази даних. 15 Привласнення прав. 15 Скасування прав. 16 Тригери - це особливий інструмент SQL сервера, який використовується для підтримки цілісності в БД. На практиці тригери являють собою SQL команди, які можуть виконуватися при певних діях у таблиці бази даних, наприклад, додаванні або видаленні даних. Існують три типи тригерів, класифікуємих залежно від області їхнього використання: під час додавання (INSERT), зміни (UPDATE) і видалення (DELETE) записів. Припустимо, у БД є дві таблиці: TABLE1 з полями MYID INT, MYNAME CHAR(15) і TABLE2 з полями MYID INT, MYVALUE SMALL MONEY. Визначимо тригер INSCHECK для таблиці TABLE2, який буде перевіряти наявність значення, що вводиться у поле MYID таблиці TABLE1. Створюваний тригер не дозволить додати новий запис у таблицю TABLE2, якщо значення в поле MYID не збігається зі значенням поля MYID таблиці TABLE1.
CREATE TRIGGER INSCHECK ON TABLE2 FOR INSERT AS DECLARE @X INT SELECT @X = I.MYID FROM TABLE2 A, INSERTED I WHERE A.MYID = I.MYID IF NOT (EXISTS (SELECT * FROM TABLE1 WHERE MYID = @X)) BEGIN ROLLBACK TRAN RAISERROR (‘Помилка цілісності! ‘, 16, 10) END
Тут визначається створення нового тригера INSCHECK для таблиці TABLE2 для процесу додавання нових записів (INSERT). Далі визначається змінна @X, якій буде привласнюватися значення поля MYID запису, що додається в таблицю. У процесі використання тригера створюються тимчасові таблиці INSERTED і DELETED, що зберігають у собі, відповідно, додані, змінені й видалені значення початкової таблиці TABLE2. За допомогою оператора SELECT змінній @X привласнюється значення поля MYID з таблиці TABLE2 (значення поля запису, що додається). Наступним кроком роботи тригера буде визначення наявності значення змінної @X у полі MYID таблиці TABLE1, тобто здійснюється перевірка допустимості значення, що вводиться. Якщо значення не знайдене, то виконується блок операторів, розташованих в області BEGIN... END. Тут за допомогою команди ROLLBACK TRAN здійснюється скасування останньої операції (додавання даних). При цьому за допомогою оператора RAISERROR здійснюється видача системного повідомлення про помилку, яке зазначене всередині даного оператора. Значення 16 і 10 визначають рівень критичності помилки. Далі розробимо тригер таблиці TABLE1, що дозволяє видаляти всі залежні записи з таблиці TABLE2 при видаленні запису з таблиці TABLE1. Для цього створимо в таблиці TABLE1 новий тригер DELCHECK.
CREATE TRIGGER DELCHECK ON TABLE1 FOR DELETE AS DECLARE @X INT SELECT @X = D.MYID FROM TABLE1 A, DELETED D WHERE A.MYID = D.MYID IF EXISTS (SELECT * FROM TABLE2 WHERE MYID = @X) DELETE FROM TABLE2 WHERE MYID = @X
У цьому прикладі створюється тригер з ім'ям DELCHECK для таблиці TABLE1, що активізується при видаленні запису. Наступним кроком є визначення змінної @X, що буде зберігати значення поля MYID запису, що видаляється. Потім за допомогою оператора SELECT даній змінній привласнюється значення поля MYID таблиці DELETED, у якій і буферизується запис, що видаляється. За допомогою оператора EXISTS визначається наявність даних у таблиці TABLE2, для яких у полі MYID знаходиться значення @X. Якщо такі записи знайдені, то система виконує операцію видалення таких записів. Системні таблиці SQL сервера. Вся інформація про об'єкти й процеси SQL сервера записується в особливі системні таблиці. Тут можна одержати відомості про будь-який параметр системи, що дозволяє збільшити можливості користувачів і адміністратора SQL сервера. Системні таблиці SQL сервера знаходяться у БД master. Таблиці, які створюються для користувальницької БД, розміщуються всередині об'єктів цієї БД.
Системні таблиці бази даних.
Читайте також:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|