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

Que sont les procédures stockées PL/SQL dans la base de données Oracle

Semblable aux fonctions PL/SQL, une procédure stockée est une autonome sous-programme destiné à effectuer certaines tâches spécifiques. Également similaires aux fonctions, les procédures sont nommées blocs PL/SQL et peuvent donc être réutilisées car elles sont stockées dans la base de données en tant qu'objet de base de données. Mais contrairement aux fonctions PL/SQL, une procédure stockée ne renvoie aucune valeur .

Syntaxe des procédures stockées PL/SQL

CREATE [OR REPLACE] PROCEDURE pro_name (Parameter – List)
IS [AUTHID 	DEFINER | CURRENT_USER]
	Declare statements
BEGIN
	Executable statements 
END procedure name;
/ 

La syntaxe ci-dessus de la procédure stockée PL/SQL est assez similaire à la syntaxe des fonctions PL/SQL que nous avons vue dans le dernier tutoriel PL/SQL. Sauf pour deux choses :

  1. Il n'y a pas de clause de retour.

Une différence essentielle entre une fonction PL/SQL et une procédure stockée est que, contrairement aux fonctions, une procédure stockée ne renvoie aucune valeur.

  1. Clause AUTHID.

La clause AUTHID est utilisée pour définir le modèle d'autorité pour les procédures PL/SQL. Cette clause a deux drapeaux.

  1. DEFINER et
  2. CURRENT_USER

Comme cette clause est facultative, si vous n'utilisez pas la clause AUTHID, Oracle Engine définira l'autorité (AUTHID) sur DEFINER par défaut pour vous. Maintenant, vous devez vous demander quels sont ces droits DEFINER et CURRENT_USER ?

DEFINER à droite : Le droit de définition est le droit par défaut attribué à la procédure par le moteur oracle. Ce droit signifie que toute personne disposant du privilège d'exécution sur la procédure agit comme si elle était le propriétaire du schéma dans lequel le privilège est créé.

CURRENT_USER à droite : La définition du niveau d'autorité d'une procédure stockée sur le droit current_user remplace le droit par défaut qui est définisseur et le remplace par les droits de l'invocateur.

L'autorité du droit d'invocateur signifie que vous appelez la procédure pour agir sur vos données locales et qu'elle nécessite que vous répliquiez les objets de données dans n'importe quel schéma participant.

Quelques points supplémentaires sur la procédure stockée

  • Vous pouvez définir une procédure avec ou sans paramètres formels.
  • Un paramètre peut être soit passé par valeur ou passer par référence .
  • Une procédure sera une procédure de passage par valeur lorsque vous ne spécifiez pas le mode de paramètre car elle utilise le mode IN par défaut.

C'est tout sur Introduction aux procédures stockées PL/SQL. Je suppose que vous apprécierez également la lecture de ces blogs mentionnés ci-dessous. Tous les blogs sont écrits en tenant compte de l'entretien d'embauche et de la certification Oracle Database, assurez-vous de les consulter.

  • Différences entre la fonction PL/SQL et les procédures stockées PL/SQL ?
  • Que sont les modes de paramètres dans les fonctions et procédures PL/SQL ?
  • Que sont les paramètres formels et réels ?

Rappelez-vous toujours :vous pouvez aider les autres à apprendre et me soutenir, moi et ma chaîne, ainsi que ce blog, en le partageant avec vos amis sur vos réseaux sociaux.

C'est ça les gars. Merci d'avoir lu. Prenez soin de vous et passez une bonne journée !