Форум: "Начинающим";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
ВнизГлюк с удалением Найти похожие ветки
← →
Монг (2006-10-30 13:39) [0]У меня есть 2 таблицы на mssql сервере. Связь между ними один ко многим. При удалении из одной таблицы записи в моей програме, должны удаляться автоматичиски записи из второй таблицы, которые к ней привязаны через ключевое поле, записей может быть несколько. Повесил я тригер на эту таблицу, который срабатывает на удаление. После того как я повесил тригер,в програме стала выдаваться ошибка "Недостаточные или неполные сведенья о ключевом поле, обновление влияет на слишком большое количевство записей". Причём работает всё как надо, нужные записи удаляються, а только генерируеться ошибка. Почему она вылизает и как от неё избавиться ? Можно её конечно обработать, но это наверное криво ?
← →
sniknik © (2006-10-30 14:05) [1]> Почему она вылизает и как от неё избавиться ?
RecordAffected(по названю ADO, для mssql @@ROWCOUNT) в тригере сбивается, ожидается что измениться 1 запись, а у тебя последнее изменение влияет на много записей (возможно не только изза триггера а изза отсутствия ключа например).
сделай нормально на FOREIGN KEY Constraints.
← →
Монг (2006-10-30 14:34) [2]А можно поконкретней как это сделать ?
← →
sniknik © (2006-10-30 14:46) [3]нет. нет "конкретной" информации в вопросе, без которой(проверки) это всего лиш догадка... а расписывать догадки это замороченно.
но даже если бы и была, все одно BOL это более полно распишет чем я (и главное без малейших усилий с моей стороны ;о))).
← →
DiamondShark © (2006-10-30 15:28) [4]
> Почему она вылизает и как от неё избавиться ?
потому что оператор в триггере возвращает счётчик строк.
избавиться -- либо добавить в триггер команду
SET NOCOUNT ON
либо, действительно, сделать FOREIGN KEY с каскадным удалением (если сервер 2000 и выше, в 7.0 каскадного удаления нет).
← →
Монг (2006-10-31 06:56) [5]>потому что оператор в триггере возвращает счётчик строк.
>избавиться -- либо добавить в триггер команду
>SET NOCOUNT ON
Большое спасибо помогло )
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c