Link to home
Start Free TrialLog 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
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial