如果我有一个名为任务的表格,其中包含以下列:
该表有一个视图。除了 PercentComplete (int)之外,该视图具有与Task表类似的列。相反,它有已完成(位)。
视图有一个更新触发器。以下是视图更新触发器的片段
IF
UPDATE (Completed)
BEGIN
UPDATE Task
SET PercentComplete = CASE Completed
WHEN 1
THEN 100
ELSE 0
END
,Userstamp = inserted.Userstamp
,Timestamp = getDate()
FROM inserted
END
这可以按预期工作。但是现在我需要为Project列添加一个条件。
例如,如果Project ='MyProject',则仅更新表。如下所示:
IF
UPDATE (Completed) and inserted.Project = 'MyProject'
BEGIN
UPDATE Task
SET PercentComplete = CASE Completed
WHEN 1
THEN 100
ELSE 0
END
,Userstamp = inserted.Userstamp
,Timestamp = getDate()
FROM inserted
END
我如何实现这一目标?
由于
答案 0 :(得分:0)
我认为您需要做的就是内部联接和简单的情况。
UPDATE T
SET PercentComplete = CASE Completed
WHEN 1 THEN 100
ELSE 0
END
,Userstamp = inserted.Userstamp
,Timestamp = getDate()
FROM Task AS T
INNER JOIN INSERTED AS I
ON I.ID = T.ID
WHERE I.Project = 'Your Project'