![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глюк с удалением [D7, MSSQL]
Монг © (2006-10-30 13:39:00)У меня есть 2 таблицы на mssql сервере. Связь между ними один ко многим. При удалении из одной таблицы записи в моей програме, должны удаляться автоматичиски записи из второй таблицы, которые к ней привязаны через ключевое поле, записей может быть несколько. Повесил я тригер на эту таблицу, который срабатывает на удаление. После того как я повесил тригер,в програме стала выдаваться ошибка "Недостаточные или неполные сведенья о ключевом поле, обновление влияет на слишком большое количевство записей". Причём работает всё как надо, нужные записи удаляються, а только генерируеться ошибка. Почему она вылизает и как от неё избавиться ? Можно её конечно обработать, но это наверное криво ?
Монг (2006-10-31 06:56:00) [1]>потому что оператор в триггере возвращает счётчик строк.
>избавиться -- либо добавить в триггер команду
>SET NOCOUNT ON
Большое спасибо помогло )
DiamondShark (2006-10-30 15:28:00) [2]
> Почему она вылизает и как от неё избавиться ?
потому что оператор в триггере возвращает счётчик строк.
избавиться -- либо добавить в триггер команду
SET NOCOUNT ON
либо, действительно, сделать FOREIGN KEY с каскадным удалением (если сервер 2000 и выше, в 7.0 каскадного удаления нет).
sniknik (2006-10-30 14:46:00) [3]нет. нет "конкретной" информации в вопросе, без которой(проверки) это всего лиш догадка... а расписывать догадки это замороченно.
но даже если бы и была, все одно BOL это более полно распишет чем я (и главное без малейших усилий с моей стороны ;о))).
Монг (2006-10-30 14:34:00) [4]А можно поконкретней как это сделать ?
sniknik (2006-10-30 14:05:00) [5]> Почему она вылизает и как от неё избавиться ?
RecordAffected(по названю ADO, для mssql @@ROWCOUNT) в тригере сбивается, ожидается что измениться 1 запись, а у тебя последнее изменение влияет на много записей (возможно не только изза триггера а изза отсутствия ключа например).
сделай нормально на FOREIGN KEY Constraints.