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

2 mikesb

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

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

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

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

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

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

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

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


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