我有以下觸發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 ...任何想法我做錯了什麼?
你的觸發器不處理多行... –