powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO и SQL Server
5 сообщений из 5, страница 1 из 1
ADO и SQL Server
    #32054330
marko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Помогите пожалуйста.
Есть такой триггер (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
ADO и SQL Server
    #32054338
fima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Измените триггер, в нем ошибка. Вот как должно быть:
Код: 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
ADO и SQL Server
    #32054352
marko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожаление это не помогает.
...
Рейтинг: 0 / 0
ADO и SQL Server
    #32054359
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В триггере первой строкой должно быть SET NOCOUNT ON
...
Рейтинг: 0 / 0
ADO и SQL Server
    #32054362
marko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да! Все работает без ошибок! Большое Вам спасибо!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ADO и SQL Server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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