在一个表格中使用触发器并更新另一个表格

问题描述:

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场变化)在一个表格中使用触发器并更新另一个表格

只是一个猜测....

JOIN惰化,我对i.Uploaded = School.Uploaded

应该是...

JOIN inserted i ON i.SchoolId = School.SchoolId 

貌似更新是某种标志你正在设置。您可能想要加入ID列。

+0

是的这是正确的,我想把国旗。好的,我会尝试ID – dca 2011-03-04 14:21:28

这只是一个错字的错误:它是join inserted;)

而且我不认为你的加盟条件很好。

你能给我们ddl吗?

+0

是的,但我是新的sql – dca 2011-03-04 14:20:31