Maison > base de données > tutoriel mysql > le corps du texte

Quels sont les avantages des procédures stockées ?

WBOY
Libérer: 2023-09-12 19:41:02
avant
1745 Les gens l'ont consulté

Quels sont les avantages des procédures stockées ?

Voici les avantages des procédures stockées :

  • Étant donné que les procédures stockées sont compilées et stockées, chaque fois que la procédure est appelée, la réponse est rapide.

  • Vous pouvez regrouper toutes les instructions SQL requises dans une seule procédure et les exécuter immédiatement.

  • Étant donné que le processus est stocké sur le serveur de base de données, cela est plus rapide que le client. Vous pourrez effectuer toutes les requêtes complexes en l'utilisant, ce qui sera plus rapide.

  • En utilisant des procédures, vous évitez la duplication de code et avec celles-ci, vous pouvez utiliser des fonctionnalités SQL supplémentaires telles que l'appel de fonctions stockées.

  • Après avoir compilé une procédure stockée, vous pouvez l'utiliser dans un certain nombre d'applications. Si des modifications sont nécessaires, vous pouvez simplement modifier le processus sans toucher au code de l'application.

  • Vous pouvez appeler des procédures stockées PL/SQL depuis Java, et vous pouvez appeler des procédures stockées Java depuis PL/SQL.

Exemple

Supposons que nous créions une table appelée « Employés » avec la description suivante :

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| Name     | varchar(255) | YES  |     | NULL    |       |
| Salary   | int(11)      | NO   |     | NULL    |       |
| Location | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+
Copier après la connexion

Supposons que nous ayons une procédure appelée myProcedure qui insère des données dans la table Employees comme indiqué ci-dessous :

Create procedure myProcedure (IN name VARCHAR(30), IN sal INT, IN loc VARCHAR(45))
   -> BEGIN
   -> INSERT INTO Employees(Name, Salary, Location) VALUES (name, sal, loc);
   -> END //
Copier après la connexion

Le programme JDBC suivant appelle la procédure stockée Java ci-dessus.

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Example {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/testdb";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Preparing a CallableStatement
      CallableStatement cstmt = con.prepareCall("{call myProcedure(?, ?, ?)}");
      cstmt.setString(1, "Amit");
      cstmt.setInt(2, 3000);
      cstmt.setString(3, "Hyderabad");
      cstmt.execute();
      cstmt.setString(1, "Kalyan");
      cstmt.setInt(2, 4000);
      cstmt.setString(3, "Vishakhapatnam");
      cstmt.execute();
   }
}
Copier après la connexion

Résultat

Connection established......
Copier après la connexion

Si vous vérifiez le contenu de la table Employés, vous pouvez trouver les lignes nouvellement ajoutées comme indiqué ci-dessous :

+-----------+--------+----------------+
| Name      | Salary | Location       |
+-----------+--------+----------------+
| Amit      | 3000   | Hyderabad      |
| Kalyan    | 4000   | Vishakhapatnam |
+-----------+--------+----------------+
Copier après la connexion

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:tutorialspoint.com
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