Oracle
 sql >> Base de données >  >> RDS >> Oracle

Introduction aux fonctions PL/SQL dans la base de données Oracle

Pour quiconque a déjà étudié des langages de programmation comme C, C++ ou Java, le concept de fonctions n'est pas nouveau. Les fonctions ne sont rien d'autre qu'un groupe d'instructions exécutables. En utilisant les fonctions, vous pouvez vous éviter de réécrire encore et encore la même logique de programmation. Alors, comment pouvons-nous définir une fonction dans Oracle PL/SQL ?

Que sont les fonctions PL/SQL dans Oracle Database ?

Dans Oracle Database, nous pouvons définir une fonction PL/SQL comme un sous-programme autonome destiné à effectuer une tâche spécifique bien définie. Les fonctions sont nommées bloc PL/SQL, ce qui signifie qu'elles peuvent être stockées dans la base de données en tant qu'objet de base de données et peuvent être réutilisées. C'est aussi la raison pour laquelle certains livres font référence aux fonctions PL/SQL en tant que fonctions stockées.

Types de fonctions PL/SQL dans Oracle Database

Il existe deux types de fonctions PL/SQL dans Oracle Database, ce sont

  1. Fonctions de passage par valeur et
  2. Fonctions de passage par référence

Dans Oracle Database, les deux types de fonctions doivent renvoyer certaines valeurs et ces valeurs doivent être un type de données SQL ou PL/SQL valide.

Syntaxe des fonctions PL/SQL dans la base de données Oracle

CREATE [OR REPLACE] FUNCTION function_name
(Parameter 1, Parameter 2…)
RETURN datatype
IS
	Declare variable, constant etc.  
BEGIN
	Executable Statements
	Return (Return Value);
END;

J'ai abordé la syntaxe de la fonction PL/SQL ligne par ligne dans le didacticiel vidéo sur ma chaîne YouTube sur le même sujet. Je vous suggère d'aller voir ce tutoriel une fois.

Méthode d'exécution de la fonction

Selon votre créativité et vos compétences en programmation, une fonction PL/SQL peut être appelée de plusieurs façons. Voici quelques manières générales d'appeler une fonction PL/SQL dans Oracle Database

  1. Vous pouvez utiliser l'utilitaire SQL*Plus de la base de données Oracle pour invoquer une fonction PL/SQL qui peut être appelée à partir de PL/SQL en tant qu'instruction procédurale.
  2. Un bloc PL/SQL anonyme peut également être utilisé pour appeler une fonction.
  3. Vous pouvez même appeler une fonction directement dans une instruction SELECT ou DML.

Restez à l'écoute, nous discuterons de chacune de ces méthodes d'exécution des fonctions PL/SQL dans le prochain tutoriel.

Restrictions sur l'appel d'une fonction

  1. Une fonction qui renvoie le type de données SQL peut être utilisée dans une instruction SQL et une fonction PL/SQL qui renvoie le type de données PL/SQL ne fonctionne que dans les blocs PL/SQL. Une exception à cette règle est que vous ne pouvez pas appeler une fonction qui contient une opération DML dans une requête SQL. Cependant, vous pouvez appeler une fonction qui effectue une opération DML dans INSERT, UPDATE et DELETE.
  2. Une fonction appelée à partir d'une instruction UPDATE ou DELETE sur une table ne peut pas interroger (SELECT) ni effectuer de transaction (DML) sur la même table.
  3. Une fonction appelée à partir d'expressions SQL ne peut pas contenir la commande TCL (COMMIT ou ROLLBACK) ou la commande DDL (CREATE ou ALTER)

C'est tout pour ce tutoriel sur Introduction aux fonctions PL/SQL dans Oracle Database. Assurez-vous de consulter le prochain didacticiel où je démontre la création d'une fonction PL/SQL à l'aide d'un exemple très simple.

Assurez-vous également de partager ce blog sur vos réseaux sociaux car je donne chaque mois la marchandise de RebellionRider à l'un des gagnants sélectionnés au hasard. Pour d'autres mises à jour, suivez-moi sur mon Facebook et Twitter.

Merci d'avoir lu et bonne journée !