Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Привет Всем!!! Можно ли заблокировать работу триггеров в SQL?


@andrew ©   (2002-04-26 16:29:00) 

Есть несколько таблиц. По изменению, добавлению или удалению информации в одной - что-то меняется в другой, с помощью тригеров. Так вот я хочу в определенный момент все это отключать. Т.е. сделать так, чтобы "в другой ничего не менялось". Есть ли такая возможноть?
Спасибо!


@andrew   (2002-04-29 10:48:00) [1]

Огромное спасибо ВСЕМ!!!!!!!!!!!!!!!!!


wicked   (2002-04-27 19:57:00) [2]

обобщая сказанное kig (27.04.02 17:19)

отключить триггер
alter table <таблица> disable trigger <имя_триггера>
или
alter table <таблица> disable trigger all

включить триггер
alter table <таблица> enable trigger <имя_триггера>
или
alter table <таблица> enable trigger all


kig   (2002-04-27 17:19:00) [3]

MSSQL2000 books online

ALTER TABLE
Modifies a table definition by altering, adding, or dropping columns and constraints, or by disabling or enabling constraints and triggers.

Syntax
ALTER TABLE table
{ [ ALTER COLUMN column_name
{ new_data_type [ ( precision [ , scale ] ) ]
[ COLLATE < collation_name > ]
[ NULL | NOT NULL ]
| {ADD | DROP } ROWGUIDCOL }
]
| ADD
{ [ < column_definition > ]
| column_name AS computed_column_expression
} [ ,...n ]
| [ WITH CHECK | WITH NOCHECK ] ADD
{ < table_constraint > } [ ,...n ]
| DROP
{ [ CONSTRAINT ] constraint_name
| COLUMN column } [ ,...n ]
| { CHECK | NOCHECK } CONSTRAINT
{ ALL | constraint_name [ ,...n ] }
| { ENABLE | DISABLE } TRIGGER
{ ALL | trigger_name [ ,...n ]
}
}



{ENABLE | DISABLE} TRIGGER

Specifies that trigger_name is enabled or disabled. When a trigger is disabled it is still defined for the table; however, when INSERT, UPDATE, or DELETE statements are executed against the table, the actions in the trigger are not performed until the trigger is re-enabled.

ALL
Specifies that all triggers in the table are enabled or disabled.

trigger_name
Specifies the name of the trigger to disable or enable.


roottim   (2002-04-27 16:29:00) [4]

в MS незнаю..
а в ракл синтаксис таков
ALTER TRIGGER name <ENABLE> | <DISABLE> | <COMPILE{DEBUG}>
вот и вся байда!


Johnmen   (2002-04-27 13:40:00) [5]

Не надо делать такую кривизну !!!
Задай свой вопрос еще раз после выходных - я думаю найдутся те, кто хорошо знает MSSQL2000 !


@andrew   (2002-04-27 13:33:00) [6]

В общем, ни хрена я не нашел. Нашел лишь некое свойство Enabled для тригерров, но как его поменять на false - черт его знает. Потому решил проще, хотя и кривее: сначала возвращать текст триггера (sp_helptext), удалять его, удалять или менять нужные мне строки, потом вновь восстанавливать триггер. На том и порешаем.


@andrew   (2002-04-27 11:53:00) [7]

Да нет не сложно, но я там ничего не откопал, вот и спросил: может кто знает, потому что явно должно быть. А на alter trigger в хелпе есть все что угодно, но только не Active | Inactive. Отсюда и такая дискуссия. Ну ладно, буду дальше копать. Спасибо.


Johnmen   (2002-04-27 11:50:00) [8]

Ну уж если не Johnmen © (26.04.02 16:42), то
почитай доки на MSSQL"евский SQL, разве это сложно ?


@andrew   (2002-04-27 11:45:00) [9]

2000. Да я их сам и писал (триггеры)


Johnmen   (2002-04-27 11:29:00) [10]

Какая версия MS SQL ? А то триггеров там может просто не быть !


@andrew   (2002-04-27 11:25:00) [11]

У меня база на основе MS SQL, с которым я работаю при помощи ADO DB через провайдер OLE DB.


panov   (2002-04-27 06:44:00) [12]

Ты бы хоть написал, какая у тебя БД.


@andrew   (2002-04-26 17:51:00) [13]

:о))))))))

> ALTER TRIGGER name [ACTIVE | INACTIVE]

А это из какого хэлпа?
Чего-то не нашел :о()


@andrew   (2002-04-26 16:58:00) [14]

м-да :?()

Ну раз так - извини... :о))

Спасибо.


Johnmen   (2002-04-26 16:42:00) [15]

У SQL триггеров нет, они есть у БД.

ALTER TRIGGER name [ACTIVE | INACTIVE]

прямо из хелпа :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо