Maison  >  Article  >  base de données  >  La procédure stockée Oracle renvoie un jeu de résultats

La procédure stockée Oracle renvoie un jeu de résultats

WBOY
WBOYoriginal
2023-05-11 11:33:363022parcourir

Oracle est l'un des systèmes de gestion de bases de données relationnelles les plus utilisés au monde. Il présente les avantages d'une bonne stabilité, évolutivité et sécurité. De plus, Oracle fournit également des fonctions de procédures stockées, qui sont exécutées dans la base de données. instructions dont la syntaxe est similaire à PL/SQL. Les procédures stockées sont principalement utilisées pour simplifier le code répétitif, améliorer la réutilisabilité du code, accélérer le traitement des données, etc. Cet article explique comment écrire des procédures stockées dans Oracle et renvoyer des jeux de résultats.

1. Notions de base des procédures stockées

Dans Oracle, une procédure stockée est un ensemble d'instructions SQL qui peuvent effectuer des requêtes, des insertions, des mises à jour, des suppressions et d'autres opérations de base de données. Dans Oracle, les procédures stockées peuvent être écrites en utilisant le langage PL/SQL. Une procédure stockée est un objet de base de données créé à l'aide de l'instruction CREATE PROCEDURE. En outre, vous pouvez également utiliser l'instruction CREATE FUNCTION pour créer une procédure stockée de type fonction. La procédure stockée de type fonction renvoie une valeur, tandis que la procédure stockée ne renvoie pas de valeur, mais le paramètre OUT peut y être utilisé pour renvoyer le résultat. Les procédures stockées permettent aux utilisateurs de personnaliser les paramètres, réduisant ainsi la complexité de l'accès et du traitement des données.

Avantages des procédures stockées :

  1. Réduisez le code répétitif
  2. Réduisez la charge sur la base de données et le réseau
  3. Améliorez la lisibilité et la maintenabilité du code
  4. Augmentez la vitesse de traitement des données

Inconvénients des procédures stockées :

  1. Utilisation accrue de la mémoire
  2. Augmentation du temps de développement et de test
  3. Complexité de programmation élevée

2. Syntaxe des procédures stockées

Les procédures stockées sont principalement constituées d'instructions DECLARE, BEGIN, EXCEPTION et END, parmi lesquelles l'instruction DECLARE est utilisée pour déclarer les variables, le curseur et types d'enregistrements, etc. L'instruction BEGIN contient le code d'exécution principal de la procédure stockée, qui est utilisé pour implémenter les fonctions spécifiques de la procédure stockée. Elle peut inclure des structures de contrôle telles que IF, LOOP, WHILE, etc. et des instructions SQL. L'instruction EXCEPTION est utilisée pour gérer les exceptions dans les opérations. L'instruction END indique la fin de la procédure stockée.

La syntaxe de la procédure stockée est la suivante :

CREATE OR REPLACE PROCEDURE nom_procédure (IN_parameter IN data_type, OUT_parameter OUT data_type)
IS
DECLARE
variable_name data_type := value;
BEGIN
--Execute instruction
EXCEPTION
- -Traitement des exceptions
FIN;

Description du paramètre :

1. CREATE OR REPLACE PROCEDURE : Créer ou remplacer une procédure stockée

2. procédure_name : Le nom de la procédure stockée, qui doit être unique.

3. IN_parameter : Le nom du paramètre d'entrée de la procédure stockée, qui peut être un paramètre unique ou plusieurs paramètres.

4. data_type : le type de données du IN_parameter

5. OUT_parameter : le nom du paramètre de sortie de la procédure stockée. Peut renvoyer un type d'enregistrement ou de curseur.

6. DECLARE : utilisé pour déclarer des variables, des curseurs, des types d'enregistrement, etc.

7. variable_name : Le nom de la variable

8. value : L'affectation de la variable

9 : Contient le code d'exécution principal de la procédure stockée, utilisé pour implémenter les fonctions spécifiques de la procédure stockée.

10. EXCEPTION : Utilisé pour gérer les exceptions pendant les opérations.

11. FIN : Le processus stocké se termine.

3. La procédure stockée renvoie l'ensemble de résultats

Dans Oracle, la procédure stockée peut renvoyer les résultats via le paramètre OUT. Dans la procédure stockée, nous devons utiliser la variable curseur pour lire le jeu de résultats de la requête, puis transmettre le résultat au paramètre OUT. Les étapes spécifiques sont les suivantes :

1. Définir la procédure stockée et les paramètres OUT

CREATE OR REPLACE PROCEDURE nom_procédure(p_out_parameter OUT SYS_REFCURSOR)
IS
BEGIN
--Execute instruction
OPEN p_out_parameter FOR SELECT column1, column2 FROM table_name ;
END ;

Remarque :

La procédure stockée ci-dessus définit un paramètre OUT p_out_parameter, le type de données de ce paramètre est SYS_REFCURSOR.

2. Appelez la procédure stockée

DECLARE
type_name SYS_REFCURSOR;
BEGIN
procédure_name(type_name);
END;

Appelez la procédure stockée nom_procédure et transmettez le paramètre type_name au paramètre OUT p_out_parameter. Une fois l'exécution de la procédure stockée terminée, les résultats de la requête renvoyés seront stockés dans la variable de curseur type_name.

3. Utilisez les variables de curseur pour lire les résultats de la requête

DECLARE

type_name SYS_REFCURSOR;

column1_value VARCHAR2(50);

column2_value VARCHAR2(50); BOUCLE;

FERMER type_name;
END;

Explication :

Le code ci-dessus utilise la variable de curseur type_name pour lire le jeu de résultats de la requête ligne par ligne et stocke les valeurs column1 et column2 de chaque ligne dans les variables column1_value et column2_value.

Grâce aux instructions LOOP et FETCH, la variable curseur peut lire le jeu de résultats de la requête ligne par ligne. Lorsque la dernière ligne est interrogée, la condition type_name%NOTFOUND renverra TRUE et la boucle se terminera. Enfin, utilisez l'instruction CLOSE pour fermer le curseur.


4.Résumé

Les procédures stockées sont des outils de traitement de données efficaces dans Oracle, qui peuvent optimiser les opérations de données en réduisant la duplication de code, en améliorant la réutilisabilité du code et en accélérant le traitement des données. Lorsque vous écrivez une procédure stockée, vous devez vous familiariser avec sa syntaxe de base et ses règles de paramètres, et comprendre comment renvoyer un jeu de résultats de requête. L'utilisation de procédures stockées peut améliorer considérablement les performances et la sécurité de la base de données et constitue l'une des compétences nécessaires pour les développeurs de bases de données Oracle.

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