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
| CREATE TRIGGER TriggerCalcEvolution
ON dbo.Games
INSTEAD OF INSERT AS
BEGIN
--Création d'une variable pour calculer ma colonne 'Somme'
DECLARE @NewCash AS real
--Si je n'ai aucun enregistrement, je somme mes 2 valeurs CashWin et CashLoose
SET @NewCash=(SELECT TOP(1) CashWin+CashLoose FROM Inserted)
-- Si j'ai déjà des enregistrements, je récupère mon précédent calcul
IF 0<(SELECT count(SessionID) FROM Games )
SET @NewCash=(SELECT TOP(1) Cash+@NewCash FROM Games ORDER BY SessionID DESC)
--J'insere finallement tous les champs d'origine + celui que je viens de calculer
INSERT INTO Games WITH (TABLOCK)
(
SessionID,
Occurtime,
Opponent,
GameType,
DiceCube,
CashWin,
CashLoose,
Cash
)
SELECT
TOP (1) SessionID,
Occurtime,
Opponent,
GameType,
DiceCube,
CashWin,
CashLoose,
@NewCash
FROM
Inserted
ORDER BY SessionID DESC
END |
Partager