Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не срабатывает триггер в SQL Server / 9 сообщений из 9, страница 1 из 1
06.07.2001, 12:55
    #32009062
mikesb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
Почему-то не вызывается триггер на удаление. При этом в другой таблице я сделал подобный триггер, и он без проблем работает. В чем может быть проблема?
...
Рейтинг: 0 / 0
06.07.2001, 13:30
    #32009064
ComeRun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
Триггер не удаляется в случае, если таблица считывается или блокирована кем-то...
...
Рейтинг: 0 / 0
06.07.2001, 13:37
    #32009065
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
>Триггер не удаляется в случае, если таблица считывается или блокирована кем-то...
Не понял, Вы хотите сказать, что если таблица блокирована, то триггер просто пропускается??

2 mikesb

Я пока вижу 2 объяснения:
1. Возможно Вы его DISABLE TRIGGER
и забыли вернут взад.
2. Неправильно написан код, т. е. триггер срабатывает, но не удаляет записи из-за ошибок в коде.
...
Рейтинг: 0 / 0
06.07.2001, 13:45
    #32009066
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
Как вы определили, что он не срабатывает? Какой триггер и какая версия сервера?
Вставьте в текст триггера Raiserror('Сработал, блин!',16,10) самой первой строчкой и проверьте, действительно ли он не срабатывает.
...
Рейтинг: 0 / 0
06.07.2001, 14:21
    #32009069
mikesb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
Я был не совсем прав. На самом деле триггер срабатывает, а проблема в другом.
У меня стоит триггер на удаление, и при попытке удалить запись из подчиненной таблицы SQl Server ругается на COLUMN REFERENCE constraint.

Я посмотрел в форуме, что-то подобное уже обсуждалось (у меня SQL Server 7.0), но не до конца понял, почему же я не могу удалить запись из подчиненной таблицы.

А если у связи убрать поддержку целостности, то все работает, но это не очень хорошо.

Как можно решить проблему, и почему она возникает?
...
Рейтинг: 0 / 0
06.07.2001, 14:41
    #32009071
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
Ты смешал в одну общую кучу два разных механизма поддержки целостности данных. Условия ограничения целостности по Foregn key срабатывают раньше триггера. Для версии 7.0 (и более ранних) MS рекомендует использовать либо DRI, либо триггеры, но не то и другое одновременно (по крайней мере для одних объектов и их зависимостей).
В версии 2000 эти вопросы решаются более гибко. Там, к примеру, появились instead-триггеры, которые срабатывают после DRI. Кроме того, в самих DRI появилась возможность настройки на каскадное обновление и удаление.
...
Рейтинг: 0 / 0
06.07.2001, 15:01
    #32009073
mikesb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
Понятно. Просто я думал, что триггер срабатывает до DRI, и позволяется так сказать "подготовить почву" для него.

Спасибо за разъяснение.
...
Рейтинг: 0 / 0
09.07.2001, 08:25
    #32009130
ComeRun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
2 Genady

>>Триггер не удаляется в случае, если таблица считывается или блокирована кем-то...
>Не понял, Вы хотите сказать, что если таблица блокирована, то триггер просто пропускается??

Ну, не понял вопроса, перепутал... Был под впечатлением собственных проблем....
Ну, растерзайте меня за это!
...
Рейтинг: 0 / 0
09.07.2001, 08:28
    #32009132
Genady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает триггер в SQL Server
2 ComeRun

Да не собирался я Вас терзать
удивился просто
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не срабатывает триггер в SQL Server / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]