DECLARE @U VARCHAR(1)SET @U = 'A'UPDATE #RB SET X = @U WHERE X <> 'b'
CREATE TRIGGER [dbo].[TRG_PreserveActiveStatus] ON [dbo].[FD__MEDICATIONORDERS] FOR UPDATE AS SET NOCOUNT ON DECLARE @MEDORDERKEY INT DECLARE @NOTED VARCHAR(25) DECLARE @UPDATEDSTATUS VARCHAR(25) -- STATUS OF ORDER IS PENDING WHEN ORIGINALLY SAVED, ONCE ORDER IS SUBMITTED, IT CHANGES TO ACTIVE-- IF USER SAVES FORM AGAIN, STATUS CHANGES FROM ACTIVE TO PENDING WHICH IS WRONG SINCE DOSES EXIST-- THIS ROLLS THE PENDING STATUS CHANGE BACK SELECT @MEDORDERKEY = MEDORDERKEY ,@UPDATEDSTATUS = STATUS FROM inserted IF @UPDATEDSTATUS = 'Pending' BEGIN SELECT @NOTED = NOTED FROM FD__MEDICATIONORDERS WHERE OP__DOCID = @MEDORDERKEY IF @NOTED = 'T'ROLLBACKEND
CREATE TRIGGER [dbo].[TRG_PreserveActiveStatus] ON [dbo].[FD__MEDICATIONORDERS] INSTEAD OF UPDATE AS BEGIN;SET NOCOUNT ON; /* This trigger only UPDATES dbo.FD__MEDICATIONORDERS when the status isn't back to pending and noted is not 'T' */ UPDATE dbo.FD__MEDICATIONORDERS SET STATUS = I.STATUS, column1 = I.column1, ... FROM INSERTED AS I WHERE dbo.FD__MEDICATIONORDERS.PrimaryKey = I.PrimaryKey AND I.STATUS <> 'Pending' AND I.NOTED <> 'T' ;END;
check( (disenrolled_date is null and enrolled_status = 'E') or (disenrolled_date is not null and enrolled_status = 'D'))
deny update on [table] ( [column] ) to [user];