Maison > base de données > Oracle > le corps du texte

Parlons de la procédure stockée des paramètres de sortie Oracle

PHPz
Libérer: 2023-04-04 09:44:03
original
1532 Les gens l'ont consulté

Dans la base de données Oracle, une procédure stockée est un bloc de code précompilé qui peut effectuer des opérations définies en appelant la procédure stockée en cas de besoin. Dans une procédure stockée, en plus d'exécuter des instructions SQL, vous pouvez également définir des paramètres d'entrée, de sortie ou les deux. Cet article présente principalement les paramètres de sortie et leurs applications dans les procédures stockées.

1. Le concept de paramètres de sortie

Dans une procédure stockée, un paramètre de sortie est une variable utilisée pour renvoyer les résultats de la procédure stockée, comprenant généralement des types de données de base et des types de données personnalisés. Lorsque la procédure stockée est exécutée, les résultats renvoyés seront enregistrés dans les paramètres de sortie. Le programme peut accéder aux paramètres de sortie via l'objet de connexion et utiliser les données renvoyées pour les opérations ultérieures.

2. Créer une procédure stockée avec des paramètres de sortie

Dans la base de données Oracle, la création d'une procédure stockée avec des paramètres de sortie nécessite l'utilisation de la commande CREATE PROCEDURE :

CREATE OR REPLACE PROCEDURE p_test_out_param(
   p_in_param NUMBER,
   p_out_param OUT VARCHAR2
) AS
BEGIN
   p_out_param := 'Hello World';
   dbms_output.put_line('IN Parameter value = ' || p_in_param);
   dbms_output.put_line('OUT Parameter value = ' || p_out_param);
END;
Copier après la connexion

Dans l'exemple ci-dessus, p_in_param est le paramètre d'entrée, p_out_param est le paramètre de sortie, le type est VARCHAR2. Cette procédure stockée n'exécute aucune instruction SQL, elle génère simplement une chaîne pour p_out_param. A la fin de la procédure stockée, la valeur de p_out_param peut être obtenue et traitée par le programme appelé en externe.

3. Les programmes externes accèdent aux paramètres de sortie des procédures stockées

Dans la base de données Oracle, les programmes externes peuvent utiliser des objets de connexion pour accéder aux paramètres de sortie des procédures stockées. Voici un exemple de programme Java :

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class CallStoredProcedure {
   public static void main(String args[]) {
      Connection conn = null;
      CallableStatement cstmt = null;
      try {
         Class.forName("oracle.jdbc.driver.OracleDriver");
         conn = DriverManager.getConnection(
            "jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");

         cstmt = conn.prepareCall("{call p_test_out_param(?, ?)}");
         cstmt.setInt(1, 100);
         cstmt.registerOutParameter(2, java.sql.Types.VARCHAR);
         cstmt.executeUpdate();

         String output = cstmt.getString(2);
         System.out.println("Output Parameter : " + output);

      } catch (SQLException e) {
         e.printStackTrace();
      } catch (ClassNotFoundException e) {
         e.printStackTrace();
      } finally {
         try {
            if (cstmt != null)
               cstmt.close();
            if (conn != null)
               conn.close();
         } catch (SQLException e) {
            e.printStackTrace();
         }
      }
   }
}
Copier après la connexion

Ce programme est écrit en langage Java, se connecte à la base de données Oracle via le pilote JDBC et exécute la procédure stockée p_test_out_param. Indiquez au programme que le type du paramètre de sortie est VARCHAR via la méthode registerOutParameter et obtenez la valeur du paramètre de sortie via la méthode getString après l'exécution.

Résumé :

Dans la base de données Oracle, les procédures stockées sont un moyen important de traiter la logique métier. L'utilisation de paramètres de sortie peut faciliter l'obtention par le programme des résultats renvoyés par les procédures stockées. À travers les trois parties suivantes, on peut voir que la base de données Oracle prend en charge presque toutes les API de connexion des langages de programmation traditionnels, afin que les programmeurs puissent choisir le langage de programmation dans lequel ils maîtrisent pour effectuer des opérations de base de données. Dans le même temps, la base de données Oracle fournit de puissantes fonctions de procédures stockées, qui peuvent améliorer la maintenabilité et les performances de la logique métier dans des environnements métier complexes.

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