Maison >base de données >tutoriel mysql >Explication détaillée des fonctions stockées et des procédures stockées dans Oracle
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éecreate 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!