Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание триггера. Получение метаданных




Назначение триггера

Работа с триггерами

Получение метаданных

Просмотр структуры с помощью ISQL

 

Эту информацию можно получить и с помощью консольной утилиты ISQL, используя команду:

SHOW <object> [<name>] -- показыает системную информацию

<object> = CHECK, DATABASE, DOMAIN, EXCEPTION, FILTER, FUNCTION, GENERATOR, GRANT, INDEX, PROCEDURE, SYSTEM, TABLE, TRIGGER, VERSION, VIEW

 

 

Чтобы извлечь выражения определения данных (метаданные) из базы данных, таблицы или представления выберите меню Extract | SQL Metadata for Database..Table..View... Результат этой операции -- SQL-скрипт, который можно использовать для восстановления структуры базы данных (таблиц, генераторов, процедур, представлений, и.т.д).

 

Триггер - это процедура БД, автоматически вызываемая SQL-сервером при обновлении, удалении или добавлении новой записи в ТБД. Непосредственно из программы к триггерам обратиться нельзя. Нельзя и передавать им входные параметры и получать от них значения выходных параметров. Триггеры всегда реализуют действие. По событию изменения ТБД триггеры различаются на вызываемые при:

• добавлении новой записи;

• изменении существующей записи;

• удалении записи.

По отношению к событию, влекущему их вызов, триггеры различаются на:

• выполняемые до наступления события;

• выполняемые после наступления события.

Преимущества использования триггеров:

• автоматическое обеспечение каскадных воздействий в дочерних таблицах при изменении, удалении записи в родительской таблице выполняется на сервере. Пользователю нет необходимости заботиться о программной реализации каскадных воздействий. Поскольку каскадные воздействия выполняет сервер, нет необходимости пересылать изменения в таблицах БД из приложения на сервер, что снижает загрузку сетевого трафика;

• изменения в триггерах не влекут необходимости изменения программного кода в клиентских приложениях и не требуют распространения новых версий клиентских приложений у пользователей.

ЗАМЕЧАНИЕ. При откате транзакции откатываются также и все изменения, внесенные в БД триггерами.

Триггер создается оператором

CREATE TRIGGER ИмяТриггера FOR ИмяТаблицы

[ACTIVE I INACTIVE]

{BEFORE I AFTER}

{DELETE I INSERT! UPDATE}

{POSITIONномер }

AS < тело триггера >

ACTIVE | INACTIVE - указывает, активен триггер или нет. Можно определить триггер "про запас", установив для него INACTIVE. В дальнейшем можно переопределить триггер как активный. По умолчанию действует ACTIVE.

BEFORE | AFTER - указывает, будет выполняться триггер до (BEFORE) или после (AFTER) запоминания изменений в БД.

DELETE | INSERT | UPDATE - указывает операцию над ТБД, при выполнении которой срабатывает триггер.

POSITION номер - указывает, каким по счету будет выполняться триггер в случае наличия группы триггеров, обладающих одинаковыми характеристиками операции и времени (до, после операции) вызова триггера. Значение номера задается числом в диапазоне 0..32 767. Триггеры с меньшими номерами выполняются раньше.

Для определения тела триггера используется процедурный язык, рассмотренный в приложении. В него добавляется возможность доступа к старому и новому значениям столбцов изменяемой записи OLD и NEW.

Структура тела триггера.

[<объявление локальных переменных процедуры>]

BEGIN

< оператор>

END




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 480; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.