powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Неадекватный триггер
7 сообщений из 7, страница 1 из 1
Неадекватный триггер
    #32076681
wer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CREATE TRIGGER InsertSrokIspolnenija_tbl ON SrokIspolnenija_tbl
FOR INSERT
AS

DECLARE @IndexKart DECIMAL(28) -- индекс карточки
DECLARE @IndexSrok DECIMAL(28) -- индекс срока исполнения

-- получить индексы
SELECT @IndexKart = ipSrokIspolnenijaUchetnajaKartochka, @IndexSrok = idSrokIspolnenija FROM Inserted

-- print @IndexSrok

-- добавить к сроку исполнения еще и дату его установки
UPDATE SrokIspolnenija_tbl SET dDataPerenosa = CONVERT(VARCHAR(10), GETDATE(), 104) WHERE ipSrokIspolnenijaUchetnajaKartochka = @IndexKart AND idSrokIspolnenija <> @IndexSrok AND dDataPerenosa IS NULL

Проблема в том, что когда print закоментирован, то триггер работает неправильно, добавляется две записи. А в противном случае все работает нормально. В чем закавыка то?
...
Рейтинг: 0 / 0
Неадекватный триггер
    #32076713
Kilroy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой триггер не учитывает возможной вставки в таблицу более одной
строки. Есть ли гарантия, что в inserted всегда одна строка?
...
Рейтинг: 0 / 0
Неадекватный триггер
    #32076724
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Триггер НЕ ДОБАВЛЯЕТ записей, а автоматически вызывается ПОСЛЕ вставки записи в таблицу.

Сейчас проверил (MS SQL7 + SP3) - PRINT не прерывает выполнение триггера, так что это - непричем.

Так что, скорее всего:
- глюк клиента
- существует триггер FOR UPDATE, который рекурсивно вставляет запись
- нужно накатить Service Pack (SP) MS SQL
...
Рейтинг: 0 / 0
Неадекватный триггер
    #32076755
wer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Kilroy

Вставляется всегда одна запись.

2 Jimmy

триггера на апдейт нет

где можно взять SP?
...
Рейтинг: 0 / 0
Неадекватный триггер
    #32076758
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Неадекватный триггер
    #32076790
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Sorry
А куда добавляется две записи.

Из приведенного примера непонятно.
...
Рейтинг: 0 / 0
Неадекватный триггер
    #32076988
wer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Записи добавляются в тут таблицу куда вставляется (SrokIspolnenija_tbl)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Неадекватный триггер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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