Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO и SQL Server / 5 сообщений из 5, страница 1 из 1
01.10.2002, 11:42
    #32054330
marko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO и SQL Server
Здравствуйте! Помогите пожалуйста.
Есть такой триггер (SQL Server 2000)

CREATE TRIGGER DelTrig
ON Table1
FOR DELETE
AS
BEGIN
update Table2
set T_ID = NULL
from Table2, deleted
where Table2.T_ID=deleted.T_ID
END
GO

Доступ к таблицам - через ADODataSet. Проблема вот в чем: когда в Table2 есть ссылка на Table1.T_ID больше чем в одном поле, то при удалении записи в Table1 выскакивает ошибка:
Key column information is insufficient or incorrect. Too many rows were affected by update.
...
Рейтинг: 0 / 0
01.10.2002, 11:48
    #32054338
fima
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO и SQL Server
Измените триггер, в нем ошибка. Вот как должно быть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE TRIGGER DelTrig 
ON Table1 
FOR DELETE 
AS 
BEGIN 
update Table2 
set T_ID = NULL 
from Table2, deleted 
where Table2.T_ID in (select deleted.T_ID 
                       from deleted)
END 
GO 
...
Рейтинг: 0 / 0
01.10.2002, 12:19
    #32054352
marko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO и SQL Server
К сожаление это не помогает.
...
Рейтинг: 0 / 0
01.10.2002, 12:26
    #32054359
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO и SQL Server
В триггере первой строкой должно быть SET NOCOUNT ON
...
Рейтинг: 0 / 0
01.10.2002, 12:33
    #32054362
marko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO и SQL Server
Да! Все работает без ошибок! Большое Вам спасибо!!!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO и SQL Server / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]