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 34 35 36 37 38 39 40 41
| CREATE TRIGGER trig_immeuble
ON T_immeuble
INSTEAD OF INSERT
AS
BEGIN
DECLARE @n INT,
@m INT,
@annee INT,
@val VARCHAR(10)
SELECT @n = COUNT(*),
@m = MAX(CAST(code_immeuble AS INT)),
@annee = YEAR(GETDATE())
FROM dbo.T_immeuble
IF SUBSTRING(CAST(@m AS VARCHAR), 1 , 4) = @annee
BEGIN
SET @n = @n + 1
END
ELSE
BEGIN
SET @n = 1
END
SELECT @val = @annee + '/' + REPLICATE('0', 5 - LEN(CAST(@n AS VARCHAR)) + @n
INSERT INTO dbo.T_immeuble
(
code_immeuble,
denom_immeuble,
nbre_etage_immeuble,
code_prop,
code_quart
)
SELECT @val,
denom_immeuble,
nbre_etage_immeuble,
code_prop,
code_quart
FROM INSERTED
END |
Partager