Использование триггера в одной таблице и обновление другой таблицы - PullRequest
0 голосов
/ 04 марта 2011
CREATE TRIGGER dbo.updateTrigger
   ON  dbo.Education 
   AFTER UPDATE
   AS 
BEGIN
    SET NOCOUNT ON;
IF NOT (UPDATE( HighestDegreeDoc) OR UPDATE (GPA) OR UPDATE (CreditHours))
    RETURN
UPDATE dbo.School
set Uploaded =1
from dbo.School
JOIN inerted i ON i.Uploaded = School.Uploaded
END
GO

Что не так с этим кодом. я пытаюсь обновить поле в школьной таблице, поле загружается при обновлении (HighestDegreeDoc, GPA, CrediHours) в таблице образования. ПРИМЕЧАНИЕ Таблица образования содержит более 15 полей (Обновленное поле в таблице школ обновляется только при изменении этих 3 полей)

Ответы [ 2 ]

1 голос
/ 04 марта 2011

Просто предположение ....

JOIN инертирован, я включен i.Uploaded = School.Uploaded

Должно быть ...

JOIN inserted i ON i.SchoolId = School.SchoolId

Похоже, обновленоэто какой-то флаг, который вы устанавливаете.Вы, вероятно, хотите присоединиться к столбцу идентификатора.

0 голосов
/ 04 марта 2011

Это только ошибка опечатки: join inserted;)

И я не думаю, что ваше условие соединения хорошее.

Можете ли вы дать нам ddl?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...