Лекція на тему: «Збережені процедури та тригери»


НазваЛекція на тему: «Збережені процедури та тригери»
Дата конвертації08.05.2013
Розмір445 b.
ТипЛекція


Системи і технології управління базами даних

Лекція на тему:

«Збережені процедури та тригери»

Збережена процедура



Синтаксис створення процедури



Пояснення параметрів



Приклад збереженої процедури



Виклик процедури



Приклад процедури з параметром

USE pubs

IF EXISTS (SELECT name FROM sysobjects WHERE name = 'au_info' AND type = 'P') DROP PROCEDURE au_info

GO

CREATE PROCEDURE au_info @lastname varchar(40), @firstname varchar(20)

AS SELECT au_lname, au_fname, title, pub_name FROM authors a INNER JOIN titleauthor ta ON a.au_id = ta.au_id INNER JOIN titles t ON t.title_id = ta.title_id INNER JOIN publishers p ON t.pub_id = p.pub_id WHERE au_fname = @firstname AND au_lname = @lastnameGO

Виклик процедури з параметрами

EXECUTE au_info 'Dull', 'Ann’

Або

EXECUTE au_info @lastname = 'Dull', @firstname = 'Ann’

Або

EXECUTE au_info @firstname = 'Ann', @lastname = 'Dull'

Або

EXEC au_info 'Dull', 'Ann’

Або

EXEC au_info @lastname = 'Dull', @firstname = 'Ann’

Або

EXEC au_info @firstname = 'Ann', @lastname = 'Dull'

Або:

au_info 'Dull', 'Ann'–

Або

au_info @lastname = 'Dull', @firstname = 'Ann'–

Або

au_info @firstname = 'Ann', @lastname = 'Dull'

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

DROP PROCEDURE { procedure } [ ,...n ]

Тригери

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

Типи тригерів

INSERT TRIGGER. Тригери цього типу запускаються при спробі додавання запису за допомогою команди INSERT.

UPDATE TRIGGER. Тригери цього типу запускаються при спробі змінити дані за допомогою команди UPDATE.

DELETE TRIGGER. Тригери цього типу запускаються при спробі видалити записи за допомогою команди DELETE.

Важливі параметри тригера

Поведінку тригера визначають два параметри.

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

INSTEAD OF. Тригер викликається замість команд. Такі тригери можуть бути визначені як для таблиць, так і для уявлень.

Синтаксис створення тригера

CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] {     { { FOR | AFTER | INSTEAD OF }{ [DELETE] [,] [INSERT] [,] [UPDATE] }

        [ WITH APPEND ]         [ NOT FOR REPLICATION ]         AS    sql_statement [ ...n ]

}

|

{         [ { IF UPDATE ( column )             [ { AND | OR } UPDATE ( column ) ]                 [ ...n ]                 } ]         sql_statement [ ...n ]     } }

Пояснення синтаксису

trigger_name

Цей аргумент задає назву тригера. Воно повинно бути унікальним усередині БД.

Table | view

Назва таблиці або уявлення, до якої (якого) прив’язується тригер.

WITH ENCRYPTION

Задає шифрування тексту тригера.

AFTER

Якщо вказано цей аргумент, тригер буде запускатися тільки у разі успішного завершення команд. Цей аргумент приймається за замовченням.

INSTEAD OF

Якщо вказано цей аргумент, тригер буде виконуватися замість команд, для яких визначений цей тригер.

{ [DELETE] [,] [INSERT] [,] [UPDATE] }

Ця конструкція визначає, які команди призведуть до виконання тригера. Повинно бути вказано хоча б одне з цих значень.

Пояснення синтаксису

WITH APPEND

Цей аргумент має сенс для версій нижчих 7. Він дозволяє створення нового тригера без видалення попереднього того ж самого типу для однієї таблиці.

NOT FOR REPLICATION

Вказує, що тригер не може бути виконаний при запуску механізму реплікацій.

AS sql_statement […n]

Ця конструкція визначає набір команд T-SQL, які будуть виконані при запуску тригера.

IF UPDATE (column)

Використання цього аргумента дозволяє виконати тригер при модифікації певного стовпця таблиці. Використовується тільки для команд INSERT, UPDATE.

{ AND | OR } UPDATE ( column )

Попереднє можна використовувати для декількох стовпців.

Заборонені команди

Усередині тригера не можна використовувати такі команди:

ALTER DATABASE

CREATE DATABASE

DISK INIT

DISK RESIZE

DROP DATABASE

LOAD DATABASE

LOAD LOG

RECONFIGURE

RESTORE DATABASE

RESTORE LOG

Видалення тригерів

DROP TRIGGER { trigger } [ ,...n ]

Приклад тригера

  • USE pubs

  • IF EXISTS (SELECT name FROM sysobjects WHERE name = 'reminder' AND type = 'TR') DROP TRIGGER reminder

  • GO

  • CREATE TRIGGER reminderON titlesFOR INSERT, UPDATE, DELETE

  • AS EXEC master..xp_sendmail 'MaryM', 'Don''t forget to print a report for the distributors.‘

  • GO



Приклад тригера

  • USE pubs

  • IF EXISTS (SELECT name FROM sysobjects WHERE name = 'reminder' AND type = 'TR') DROP TRIGGER reminder

  • GO

  • CREATE TRIGGER reminder

  • ON Titles

  • FOR INSERT, UPDATE AS RAISERROR (50009, 16, 10)

  • GO



Схожі:

Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему: лекція на тему: " ішемічний інсульт" професор с.І. Шкробот
Гостре порушення мозкового кровообігу, яке супроводжується структурними змінами в тканині мозку і стійкими органічними неврологічними...
Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему: Лекція на тему: Гігієнічне значення погоди та клімату. Акліматизація. Клімат і погода
Погода-це сукупність фізичних властивостей приземного шару атмосфери за відносно короткий проміжок часу
Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему: Лекція на тему
Урбанізація-це світовий історичний процес підвищення ролі міст у житті суспільства, поступове перетворення його в міське за характером...
Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему

Лекція на тему: «Збережені процедури та тригери» iconПроектні процедури і операції. Проектні процедури і операції
Трудомісткість виконання процедур і операцій визначається необхідними витратами ресурсів
Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему: "Особливості гігієни праці в основних галузях промислового виробництва" За походженням органічний
Лекція на тему: "Особливості гігієни праці в основних галузях промислового виробництва"
Лекція на тему: «Збережені процедури та тригери» iconВдосконалення процедури зно; вдосконалення процедури зно; регіональний моніторинг якості освіти

Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему: хімічний склад атмосферного повітря та його гігієнічне значення

Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему: "Фізико-хімічні фактори довкілля та їх вплив на організм людини. Шляхи профілактики негативного впливу. " За походженням органічний
Лекція на тему: "Фізико-хімічні фактори довкілля та їх вплив на організм людини. Шляхи профілактики негативного впливу. "
Лекція на тему: «Збережені процедури та тригери» iconЛекція на тему
Особливості планування, обладнання та дотримання гігієнічних умов в спеціалізованих відділеннях лікарень

Додайте кнопку на своєму сайті:
dok.znaimo.com.ua


База даних захищена авторським правом ©dok.znaimo.com.ua 2013
звернутися до адміністрації
dok.znaimo.com.ua
Головна сторінка