Dans le même exemple, il est également possible de créer une fonction à la place de la procédure. La différence entre une fonction et une procédure ? La première renvoie une valeur.
Syntaxe Oracle
CREATE OR ALTER FUNCTION <nom fonction> [(<variable entrée 1> IN <format>, <variable entrée 2> IN <format>, ... ... ] RETURN <format> IS <variable sortie> <format>)] BEGIN ... ... [EXCEPTION ... ... ] END;
Syntaxe SQL Server
CREATE OR ALTER FUNCTION <nom fonction> [(@<variable 1> <format>, @<variable 2> <format>, ... ... )] RETURNS <format> AS BEGIN ... ... END;
Par exemple, la fonction suivante ramène l’âge de l’acteur calculé à partir de son année de naissance.
CREATE OR REPLACE FUNCTION CALCUL_AGE_ACTEUR (DATE_NAISSANCE IN DATE) RETURN NUMBER IS AGE_ACTEUR NUMBER(5); BEGIN SELECT (SYSDATE - DATE_NAISSANCE)/365 INTO AGE_ACTEUR FROM DUAL; RETURN (AGE_ACTEUR); EXCEPTION WHEN OTHERS THEN ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique