- Une fonction est un sous-programme retournant une valeur et respectant la syntaxe suivante :
CREATE [OR REPLACE] FUNCTION nomFunc (param1, paramn) RETURN type_retourné IS
-- zone de déclaration des variables locales
BEGIN
...
-- clause RETURN
EXCEPTION
...
-- clause RETURN
END;
- Une variable paramètre suit la syntaxe suivante :
nom_param [IN|OUT|IN OUT] type_param
- Exemple :
CREATE OR REPLACE FUNCTION get_titreLivre_byID(id integer)
RETURN VARCHAR IS
titre VARCHAR(50) := '';
nblivres NUMBER;
alerteLivre EXCEPTION;
BEGIN
SELECT COUNT(*) INTO nblivres FROM LIVRE WHERE LIV_NUM=id;
IF (nblivres = 0) THEN
RAISE alerteLivre;
ELSE
SELECT LIV_TITRE INTO titre FROM LIVRE WHERE LIV_NUM = id;
RETURN titre;
END IF;
EXCEPTION
WHEN alerteLivre then
DBMS_OUTPUT.PUT_LINE('aucun livre ne correspond a cet identifiant : ' || id);
RETURN titre;
END;
/
- Utilisation :
sql> SELECT get_titreLivre_byID(13) FROM dual;
GET_TITRELIVRE_BYID(13)
-----------------------
Les Fleurs de Février
sql> SELECT get_titreLivre_byID(-1) FROM dual;
aucun livre ne correspond a cet identifiant : -1
GET_TITRELIVRE_BYID(-1)
-----------------------
<null>