![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Привет Всем!!! Можно ли заблокировать работу триггеров в 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]
прямо из хелпа :)