Avatar of Cobra967
Cobra967
Flag 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

Microsoft SQL Server

Avatar of undefined
Last Comment
HainKurt

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
HainKurt

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck