1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| USE BIJOU
IF EXISTS (SELECT NAME FROM SYSOBJECTS
WHERE NAME = 'BLOCK_USER_DISCOUNT' AND TYPE = 'TR')
DROP TRIGGER BLOCK_USER_DISCOUNT
GO
CREATE TRIGGER BLOCK_USER_DISCOUNT
ON F_DOCLIGNE
INSTEAD OF INSERT, UPDATE
AS
DECLARE @USER_ID INT,
@USER_NAME VARCHAR(35),
@CBCREATEUR CHAR(4),
@DISCOUNT DECIMAL(24,6),
@DO_TYPE SMALLINT
SELECT @USER_NAME = I.PROT_User
FROM F_PROTECTIONCPTA P INNER JOIN INSERTED I ON P.PROT_User = I.PROT_User
SELECT @DISCOUNT = DL_Remise01REM_Valeur, @DO_TYPE = DO_Type, @CBCREATEUR = cbCreateur FROM INSERTED
WHERE @DO_TYPE BETWEEN 0 AND 8
AND @CBCREATEUR = 'ERP1'
IF(@USER_NAME = 'Administrateur')
BEGIN
WHILE (@DISCOUNT > 50)
RAISERROR ('LA REMISE EST ELEVEE !',16,1)
ROLLBACK TRANSACTION
SET @DISCOUNT = @DISCOUNT - 1
CONTINUE;
IF(@DISCOUNT <= 50)
COMMIT
BREAK;
END |
Partager