Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
ahtik95
94 / 96 / 57
Регистрация: 29.09.2016
Сообщений: 370
Завершенные тесты: 10
1

Триггер с after update не работает, а с for update работает

11.07.2019, 14:37. Просмотров 240. Ответов 3
Метки нет (Все метки)

Не могу понять, почему так происходит? В нэте пишут, что after/for это the same . Но все же. В начале прописал AFTER UPDATE и этот триггер мешал апдейту самой исходной таблицы вообще всех строк, у них нулловые значения оставались на местах, где должна была быть обнова. Но когда поменял на for , все заработало и апдейт и инсерт в другую таблицы внутри .
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
ALTER TRIGGER [dbo].[tr_OnStop_Conversation] 
                                        ON [dbo].[A_Stat_Connections_1x1]
    FOR  UPDATE  
    AS 
      BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
      SET NOCOUNT ON;
    
      IF UPDATE (TimeStop)
          BEGIN
              DECLARE @Id_Chain uniqueidentifier = NULL
              SET @Id_Chain = (SELECT t.IdChain FROM [dbo].[A_Stat_Connections_1x1] t JOIN inserted i ON t.Id = i.Id AND t.IdChain = 
                    i.IdChain WHERE t.TimeStop IS NOT NULL AND t.isRecorded = 1 AND t.IdChain IS NOT NULL ) 
            EXEC [wk].[dbo].[GetRecordByChainId] @Id_Chain
 
           END
 
    
 
       END
GO
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2019, 14:37
Ответы с готовыми решениями:

Триггер For Update работает странно
Привет всем! Вопрос: в триггере FOR UPDATE прекрасно работал след. кусок: DECLARE @CurrID...

Нужен триггер на update
Подскажите. Нужен trigger на update. Чтобы при обновлении записи вызывался триггер, и в поле...

Триггер Insert, Update
Помогите написать триггер на запрет добавления существующего клиента в таблицу. Таблица состоит из...

База данных в informix (операторы update, delete и триггер)
Здравствуйте уважаемые форумчане!... Очень прошу помочь с базой данных в информиксе, а конкретно...

Триггер after update, удалить обновленную запись, если количество 0
Привет. Нужно сделать триггер после update (или вместо update и как-то merge юзать, например)...

3
invm
2309 / 1523 / 502
Регистрация: 02.06.2013
Сообщений: 3,750
11.07.2019, 14:57 2
ahtik95, поразмиышляйте над тем, что в таблицах inserted/deleted может быть более одной строки.
1
ahtik95
94 / 96 / 57
Регистрация: 29.09.2016
Сообщений: 370
Завершенные тесты: 10
11.07.2019, 15:12  [ТС] 3
Цитата Сообщение от invm Посмотреть сообщение
поразмиышляйте над тем, что в таблицах inserted/deleted может быть более одной строки.
разве IF UPDATE (TimeStop) не отбирает конкретную строку, в которой происходит апдейт.
0
invm
2309 / 1523 / 502
Регистрация: 02.06.2013
Сообщений: 3,750
11.07.2019, 15:26 4
Функция update всего лишь показывает был ли задействован столбец в инструкции insert/update/merge
0
11.07.2019, 15:26
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.07.2019, 15:26

Контроль UPDATE триггер. Доступ к данным, которые в запросе
При обновлении некоторых данных требуется отдельное подтверждение. То есть при одинаковом...

Не работает изменение, не могу понять почему, Update не работает, ошибку выдает
Помогите, изменение с помощью button string u =...

Почему не работает Update, но работает аналогичный Delete?
В xmal есть datagrid в него подтянута из базы информация. Название и количество. Надо сделать во...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru