Link to home
Create AccountLog in
Avatar of Cobra967
Cobra967Flag for United States of America

asked on

SQL Server Trigger on Update using IF THEN ELSE

Hello I need your help to implement a trigger that will fire only when a column (Approved) is updated and it will run a different sets of code depending on the updated Value (0 or 1).

CREATE TRIGGER [dbo].[ApproveTimesheet] 
   ON  [dbo].[TIMESHEET_STATUS] 
   AFTER UPDATE
AS 

If (UPDATE(Approved))
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	
	If (Approved) = True THEN
		-- Update if approved
		UPDATE dbo.TIMESHEET_STATUS
		SET DateApproved = GetDate()
		where RecordId = RecordId AND Approved = 1

		... do more stuff here

	Else
		-- Update if disapproved
		UPDATE dbo.TIMESHEET_STATUS
		SET DateApproved = NULL
		where RecordId = RecordId AND Approved = 0

		... do more stuff here

	End If

END

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of HainKurt
HainKurt
Flag of Canada image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account