Maison >base de données >tutoriel mysql >Explication détaillée des fonctions stockées et des procédures stockées dans Oracle

Explication détaillée des fonctions stockées et des procédures stockées dans Oracle

小云云
小云云original
2017-12-18 10:25:291755parcourir

Dans Oracle, les fonctions et les procédures stockées sont souvent utilisées. Il existe de nombreuses similitudes dans leur syntaxe, mais elles ont aussi leurs différences. Cet article présente principalement la différence entre les fonctions stockées et les procédures stockées dans Oracle. C'est très bien et a une référence. valeur. Les amis qui en ont besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.

Je viens de terminer l'apprentissage des fonctions et des procédures stockées pendant cette période, alors laissez-moi me faire un résumé :

1 : Procédures stockées : En termes simples, elles sont nommées blocs pl/sql.

Structure grammaticale :

create or replace 存储过程名(参数列表)
  is
   --定义变量
  begin
   --pl/sql
  end;

Cas :

Appeler la procédure stockée

create or replace procedure add_(a int,b int)
  is 
   c int;
  begin
   c:=a+b;
   dbms_output.put_line(c);
  end;

Trois types de paramètres pour la procédure stockée :

Paramètres d'entrée (par défaut) en
 declare
  begin 
   add_(12,34);
  end;

Paramètres de sortie en sortie

Paramètres d'entrée et de sortie in out

Définition de la fonction

Structure grammaticale :

Cas :

 create or replace function 函数名(参数列表) return 类型
   is
   begin
   end;

La différence et la connexion entre les procédures stockées et les fonctions stockées :

Mêmes points : 1. Créer La structure syntaxique est similaire et les deux peuvent transporter plusieurs entrées et sorties paramètres ;
create or replace function f1(n1 dec,n2 dec) return dec
   is
    r dec(19,2);
   begin
    r:=n1/n2;
    return r;
   exception
    when zero_pide then
     dbms_output.put_line('除数不能为0');
     return 0;
   end;

2. Ils sont compilés une fois et exécutés plusieurs fois

Différences : 1. Mot-clé de définition de procédure stockée Utiliser la procédure et utiliser la fonction pour la définition de la fonction ; . Vous ne pouvez pas utiliser return pour renvoyer une valeur dans une procédure stockée, mais vous pouvez l'utiliser dans une fonction, et il doit y avoir un return return dans la fonction

3. Il existe deux manières d'exécuter des procédures stockées (1. Utilisez Execute ; 2. Utilisez Begin et End En plus des deux manières de

procédures stockées, les fonctions peuvent également être utilisées comme expressions, comme dans select). (sélectionnez f1() dans dual ;)

Résumé : s'il n'y a qu'une seule valeur de retour, utilisez une fonction stockée, sinon, utilisez généralement une procédure stockée.

Recommandations associées :

Comment utiliser la fonction de décodage dans Oracle

Comment modifier l'emplacement du fichier de données du espace table dans Oracle

Explication détaillée de la fonction commune d'Oracle Trunc

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!

Déclaration:
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