Next: 7.2 Modification d'une procédure,
Up: 7 Sous programmes :
Previous: 7 Sous programmes :
  Contents
CREATE PROCEDURE p_augmnt
( a_pourc IN NUMBER,
a_qualif IN VARCHAR ) IS
BEGIN
UPDATE personnel
SET trtmnt = ROUND ( trtmnt * ( 1 + a_pourc / 100 ), 2 )
WHERE qualif = a_qualif;
IF SQL%NOT_FOUND '
THEN RAISE_AFPLICATION_ERROR ( -20011, 'qualification inexistante' );
ENDIF;
END ;
CREATE OR REPLACE FUNCTION f_salaire
( a_nom IN VARCHAR,
a_prnm IN VARCHAR )
RETURN NUMBER IS
a_renum NUMBER(8,2);
BEGIN
SELECT NVL(trtmnt, 0) + NVL(vact, 0)
INTO a_renum
FROM personnel
WHERE nom||prnm = a_nom||a_prnm;
RETURN (a_renum);
EXCEPTION
WHEN NO_DATA_FOUND
THEN RAISE_APPUCATION_ERROR(-20010, 'Personnel inexistant');
END;
Florence Bannay
2000-11-13