Maison > base de données > tutoriel mysql > Quelle est la principale différence entre les procédures et les fonctions PL/SQL ?

Quelle est la principale différence entre les procédures et les fonctions PL/SQL ?

DDD
Libérer: 2024-12-27 21:10:11
original
556 Les gens l'ont consulté

What's the Key Difference Between PL/SQL Procedures and Functions?

Fonction et procédure distinctives dans PL/SQL

PL/SQL, comme de nombreux autres langages de programmation, fournit des mécanismes pour encapsuler le code dans des unités modulaires appelés procédures et fonctions. Bien que ces constructions partagent des similitudes, elles présentent une différence cruciale : leur capacité à renvoyer des valeurs.

Une procédure est un sous-programme qui effectue des tâches spécifiques sans renvoyer explicitement de valeur. Il sert principalement à modifier les paramètres d'entrée, à manipuler des données ou à exécuter des opérations. Prenons l'exemple suivant :

CREATE OR REPLACE PROCEDURE my_proc
(p_name IN VARCHAR2 := 'John')
AS
BEGIN
  -- Do something with p_name
END;
Copier après la connexion

En revanche, une fonction est un sous-programme qui, en plus d'effectuer des tâches, renvoie également une valeur. Il accepte des paramètres comme une procédure, mais il doit avoir une clause de retour. La valeur de retour est affectée à la variable qui appelle la fonction. Voici un exemple :

CREATE OR REPLACE FUNCTION my_func(p_name IN VARCHAR2 := 'John') RETURN VARCHAR2 AS
BEGIN
  -- Do something with p_name
  RETURN 'Hello, ' || p_name;
END;
Copier après la connexion

Notez l'inclusion de la clause RETURN après la liste de paramètres dans la fonction. La dernière instruction du corps de la fonction attribue généralement une valeur à la variable locale qui sera renvoyée, comme my_varchar2_local_variable dans cet exemple.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal