Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Внизпроблеммы с trigger ом Найти похожие ветки
← →
kvit (2004-01-12 16:04) [0]БД управляется MS SQL7.0
Есть таблица Table1 и Table2, связанные ключами "один ко многим" по полю <KOD>.
Для Table1, имеющей первичный ключ, создаю триггер для каскадного удаления из таблицы Table2.
Хочу теперь удалить запись из Table1, но вот беда:
ошибка целостности опережает срабатывание триггера.
Подскажите как разрешить проблему.
← →
Academic (2004-01-12 16:06) [1]триггер болжен быть BEFORE DELETE
← →
kvit (2004-01-12 16:11) [2]Где ставить BEFORE?
Вот оригинал тригера:
CREATE TRIGGER [Ttrigg1] ON [TABLE1]
FOR DELETE
AS
declare @kod int
select @kod=i.kod from deleted i
delete from table2 where kod=@kod
← →
GLFox (2004-01-12 16:11) [3]Sorry, но мне интересно (по причине отсутствия реального опыта работы M$ SQL), а foreign key там не делает каскадного удаления (если там он вообще присутствует)?
← →
Johnmen (2004-01-12 16:16) [4]>kvit © (12.01.04 16:04)
Никаких своих триггеров для этого не надо. Просто в описании FK надо ON CASCADE DELETE проставить.
← →
SergSuper (2004-01-12 16:21) [5]В MS SQL7.0 нет каскадного удаления через foreign key, как и нет триггеров BEFORE.
Надо ставить 2000-й и вообще не писать триггеров или писать каскадное удаление в триггере, а foreign key убрать
← →
Ega23 (2004-01-12 16:35) [6]А нужно ли каскадное удаление в триггере делать? Я обычно такие вещи через ХП делаю, т.к. один раз всю инфу за последний день случайно убил.
← →
Academic (2004-01-12 16:51) [7]М-да, в 7 SQLe действительно все триггеры AFTER.
Сомневаюсь однако про отсутствие ON CASCADE DELETE у FK
в BookOnline нет на этот счет сведений
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c