·只有inserted表有数据时,当前操作为insert;
·inserted和deleted两张表都有数据时,当前操作为update;
·只有deleted表有数据时,当前操作为delete。
1.
CREATE TRIGGER trTask_Update ON dbo.Task
FOR UPDATE
AS
BEGIN
DECLARE @TaskId INT
DECLARE @NewTaskOrder INT
DECLARE @WorkstreamId INT
DECLARE @OldTaskOrder INT
--update
BEGIN
SELECT @TaskId = id ,
@OldTaskOrder = TaskOrder ,
@WorkstreamId = WorkstreamId
FROM deleted
SELECT @NewTaskOrder = TaskOrder
FROM dbo.Task
WHERE Id = @TaskId
--When updating a row, if old value is greater than new value, then +1 all values that are >= the new value and < the old value
IF @Old