Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Глюк с удалением   Найти похожие ветки 

 
Монг   (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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.038 c
1-1160498919
Olleg_ator
2006-10-10 20:48
2006.11.19
Проблема при формировании отчета в Excel


15-1162483189
Slava812
2006-11-02 18:59
2006.11.19
Головоломка


9-1134845898
QwertyKz
2005-12-17 21:58
2006.11.19
http://www.gamemaker.nl/


15-1162317007
Jorjer
2006-10-31 20:50
2006.11.19
Спасём Caps Lock!


11-1138954163
igor__
2006-02-03 11:09
2006.11.19
Как работать с БД из KOL?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский