![Free-eBooks.net](/resources/img/logo-nfe.png)
![All New Design](/resources/img/allnew.png)
Les fonctions utilisateurs sont de plusieurs types. Trois pour être précis. Il y a :
. Les fonctions scalaires
. Les fonctions tables en ligne
. Les fonctions tables multi-instructions.
Une fonction peut accepter des arguments, et ne peut retourner que deux types de données :
une valeur scalaire ou une table.
- Les fonctions scalaires retournent, grâce au mot clé RETURN, une valeur scalaire. Tous les
types de données peuvent être retournés par une fonction scalaire hors mis timestamp, table,
cursor, text, ntext et image.
- Les fonctions table ne retournent comme résultat, qu’une table, qui est le résultat d’une
instruction SELECT.
Le champ d’action d’une fonction est vraiment limité puisqu’il n’est possible de modifier que
des objets locaux à la fonction. Il n’est pas possible de modifier des objets de la base,
contenus à l’extérieur de la fonction. La création d’une fonction se fait par l’instruction DDL
CREATE FUNCTION, habituelle lors de la création d’objets dans la base. De plus, il existe
une multitude de fonctions système, utilisable par simple appel de celle-ci. Elles sont
disponibles dans l’explorateur d’objets ainsi.
157
Détaillons maintenant tous les types de fonctions existants.
Création d’une fonction
La création d’une fonction se fait quasiment de la même manière pour les trois types. Nous
allons bien sûr présenter les trois avec trois exemples, simplement nous allons le faire dans la
même partie. Voici les deux syntaxes principales de création de fonctions (scalaire et table).
Nous pouvons y accéder en déployant les nœuds de l’explorateur d’objet jusqu’au nœud «
Fonctions », appliquer un clic droit sur le type de fonction à créer et choisir l’option «
Nouvelle fonction… ».