Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Delphi 7 +доступ через ADO+ MS SQL 2000  [new]
Diagnost
Member

Откуда: Екатеринбург
Сообщений: 52
может быть вопрос не совсем в этот форум но все таки:

есть таблица а на ней триггер который при вставке записи вставляет несколько записей в другую от нее зависимую
создаю запись в форме, нажимаю сохранить
и получаю ошибку:

Key column information is insufficient or incorrect. too many rows where affected by update.

но мне это и нужно ведь я вставляю несколько записей!
при вставке из Enterpise Manager или Query Analyzer все ок работает так как и хотелось бы

при работе используется связка Delphi 7 +доступ через ADO+ MS SQL 2000
21 апр 03, 09:21    [179724]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 7 +доступ через ADO+ MS SQL 2000  [new]
Артем1
Member

Откуда: www.desnogorsk.{ru||net} -> Москва
Сообщений: 2036
Избитый вопрос. Поищите по форуму.
В тригере в начале есть SET NOCOUNT ON?
21 апр 03, 09:25    [179731]     Ответить | Цитировать Сообщить модератору
 Re: Delphi 7 +доступ через ADO+ MS SQL 2000  [new]
WW
Member

Откуда: Fryazino
Сообщений: 63
Проблемма в том ,что может терятся IDENTITY для вставляемой записи. Помимо SET NOCOUNT , в триггер на insert включи этот текст:

declare @idt int, @s varchar(50)
set @idt = @@IDENTITY

/*твои действия*/

--востановление IDENTITY
set @s = 'select identity(int, ' + cast(@idt as varchar(10)) +' ,1) as idt into #Tmp'
execute(@s)
return
21 апр 03, 10:42    [179805]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить