русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Drop trigger trig_ddl1 on all server


Дата добавления: 2015-07-09; просмотров: 415; Нарушение авторских прав


 

Аналогичным образом необходимо поступать и при проверке существования и удалении LOGON триггеров.

*/

 

if exists(select name from sys.triggers where name = 'trig_ddl1' and parent_class = 0)

Drop trigger trig_ddl1 on database

go

-- Создаем DDL триггер

Create trigger trig_ddl1

On database

For DROP_TABLE

as

Begin

/*

С помощью метода value() получаем содержимое полей ObjectName и SchemaName (большие и маленькие буквы различаются) xml данных, возвращаемых функцией eventdata(), которое при этом неявно приводится к типу данных varchar(128). Эти поля хранят имя удаляемого объекта и его пространство имен. Если эти элементы совпадают со значениями table1 и dbo, соответственно, то производим откат транзакции для отмены команды удаления таблицы.

*/

 

if (eventdata().value('(EVENT_INSTANCE/ObjectName)[1]', 'varchar(128)') = 'table1')

And

(eventdata().value('(EVENT_INSTANCE/SchemaName)[1]', 'varchar(128)') = 'dbo')

ROLLBACK transaction

End

go

 

Следует отметить, что для события DROP_TABLE, как и для большинства подобных событий, функцией eventdata() возвращаются xml данные, содержащие следующие элементы(параметры):

 

Название элемента Тип данных элемента
SchemaName String
TSQLCommand String
PostTime DateTime
SQLInstance String
ObjectName String
ObjectType String
DatabaseName String
ComputerName String
SPID Sint32
LoginName String
UserName String

 

Если после создания триггера trig_ddl1 выполнить следующие SQL команды:



<== предыдущая лекция | следующая лекция ==>
Execute( 'declare cur_ins cursor local for | Drop table table1


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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