我有以下触发SQL触发插入,删除,更新
ALTER TRIGGER [dbo].[RefreshProject]
ON [dbo].[Project]
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON
DECLARE @percentage decimal(18,2)
DECLARE @ProjectID int
DECLARE @TASKID int
IF EXISTS(SELECT * FROM Inserted)
BEGIN
SELECT @ProjectID = Inserted.ProjectID, @TASKID = ISNULL(Inserted.TASKID,-1) from Inserted join Project on Inserted.ScheduleID = Project.ScheduleID
END
IF EXISTS(SELECT * FROM Deleted)
BEGIN
SELECT @ProjectID = Deleted.ProjectID,@TASKID = ISNULL(Deleted.TASKID,-1) from Deleted join Project on Deleted.ScheduleID = Project.ScheduleID
END
BEGIN
SET @percentage = (SELECT percentage from Project where ProjectID = @ProjectID)
EXEC LoadSummary @percentage,@ProjectID, @TASKID
END
END
插入和我能当一个项目被删除,以获得修改的对象的专案编号,但更新,我不能让ProjectID或TaskID ...任何想法我做错了什么?
你的触发器不处理多行... –