Next: 2 Structure d'un bloc
Up: plsqlflo
Previous: Contents
  Contents
/*---BLOC AUGMENTATION--*/
DECLARE - **** Section facultative, déclaration des variables. ****
fonction personnel.qualif%TYPE;
traitement_moyen NUMBER(8,2);
traitement traitement_moyen%TYPE;
traitement_null EXCEPTION;
BEGIN - **** Section obligatoire, traitement. ****
SELECT qualif, trtmnt
INTO fonction, traitement
FROM personnel
WHERE nom = '&nom' AND prnm = '&prenom';
SELECT ROUND( AVG(trtmnt), 2 )
INTO traitement_moyen
FROM personnel
WHERE qualif = fonction;
IF traitement IS NULL
THEN RAISE traitement_null;
ELSIF traitement >= traitement_moyen
THEN traitement := ROUND( traitement * 1.01, 2);
ELSE traitement := traitement_moyen;
END IF;
UPDATE personnel
SET trtmnt = traitement
WHERE nom = '&nom' AND prnm = '&prenom';
EXCEPTION - **** Section facultative, gestion des anomalies. ****
WHEN traitement_null
THEN INSERT INTO anomalie
VALUES('&nom', '&prenom', '!!!! TRAITEMENT NON DEFINI !!!!!');
END;
/
Florence Bannay
2000-11-13