-- EXEMPLES DE TRIGGER
--
-- SI PRXACTUEL < PRIX (D'ACHAT) LORS D'UNE MISE A JOUR
-- IL PREND LA VALEUR DE PRIX.
--
CREATE TRIGGER MAJ_PRIX BEFORE UPDATE OF CAV_PRXACTUEL
ON BDVIN/CAVE
REFERENCING NEW ROW AS NOUVEAU
FOR EACH ROW MODE DB2ROW
 
BEGIN
 
IF NOUVEAU.CAV_PRXACTUEL < NOUVEAU.CAV_PRIX THEN
SET NOUVEAU.CAV_PRXACTUEL = NOUVEAU.CAV_PRIX ;
END IF;
 
END ;
 
--
-- EXEMPLE D'UTILISATION DE DB2ROW
-- ON TRACE DANS UN FICHIER CUMUL, VALEUR AVANT, APRÈS
--
 
CREATE TRIGGER VIN_TRACE AFTER UPDATE OF CAV_PRIX
ON BDVIN/CAVE
REFERENCING OLD ROW AS OCAVE
NEW ROW AS NCAVE
FOR EACH ROW MODE DB2ROW
 
BEGIN
DECLARE AV DEC(11, 2);
DECLARE AP DEC(11, 2);
 
SET AV = OCAVE.CAV_PRIX ;
SET AP = NCAVE.CAV_PRIX ;
 
INSERT INTO AF4TEST/CUMUL VALUES(NOW() , AV, AP) ;
 
END ;
 
--
-- EXEMPLE D'UTILISATION DE OLD TABLE/NEW TABLE
-- ON TRACE DANS UN FICHIER CUMUL, SOMME AVANT/APRÈS
--
|