Maison base de données tutoriel mysql 简单使用MySQL的存储过程

简单使用MySQL的存储过程

Jun 07, 2016 pm 03:21 PM
linux mysql 使用 存储 简单 processus 进入

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 简单使用MySQL的存储过程 MySQL5.0版本引进了存储过程的概念。存储过程可以提高执行效率,更容易维护。 在没有存储过程(procedure)概念之前,通常的业务逻辑sql代码有时很长,它们一般被嵌入在宿主

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  简单使用MySQL的存储过程

  MySQL5.0版本引进了存储过程的概念。存储过程可以提高执行效率,更容易维护。

  在没有存储过程(procedure)概念之前,通常的业务逻辑sql代码有时很长,它们一般被嵌入在宿主语言(比如Java)中,非常不便于维护,而有了存储过程,它们被定义在数据库端,并且进行了预编译。而且业务逻辑SQL代码无需在网络中传输,减轻了网络负担。可以说存储过程的优点大于它的缺点。 

  下面实现一个简单的加法存储过程。

  [sql]

  mysql> delimiter $

  mysql> create procedure pr_add (a int , b int)

  -> begin

  -> declare c int;

  -> if a is null then

  -> set a = 0;

  -> end if;

  -> if b is null then

  -> set b = 0;

  -> end if;

  -> set c = a + b;

  -> select c as sum;

  -> end;

  -> $

  在命令行模式中运行存储过程: 

  [sql]

  mysql> delimiter ;

  mysql> set @a = 10;

  Query OK, 0 rows affected (0.00 sec)

  mysql> set @b = 20;

  Query OK, 0 rows affected (0.00 sec)

  mysql> call pr_add(@a,@b);

  +------+

  | sum  |

  +------+

  |   30 |

  +------+

  1 row in set (0.00 sec)

  Query OK, 0 rows affected (0.00 sec)

  在客户端执行存储过程:

  [java]

  public class ProcedureTest {

  private static final String DB_URL = "jdbc:mysql://localhost:3306/zjut";

  private static final String DRIVER = "com.mysql.jdbc.Driver";

  private static final String USER = "root";

  private static final String PASSWORD = "XXXXX";

  private static String sql = "call pr_add(?,?)";

  public static void main(String[] args) {

  try {

  Class.forName(DRIVER);

  Connection conn = DriverManager.getConnection(DB_URL,USER,PASSWORD);

  CallableStatement cstmt = conn.prepareCall(sql);

  cstmt.setInt(1,10);

  cstmt.setInt(2, 20);

  ResultSet rs = cstmt.executeQuery();

  while(rs.next()) {

  System.out.println(rs.getInt("sum"));

  }

  } catch (ClassNotFoundException e) {

  e.printStackTrace();

  } catch (SQLException e) {

  e.printStackTrace();

  }

  }

  }

  关键代码是:

  [java]

  CallableStatement cstmt = conn.prepareCall("call pr_add(?,?)");

  cstmt.setInt(1,10);

  cstmt.setInt(2, 20);

  ResultSet rs = cstmt.executeQuery();

  输出:

  30

  原理:首先创建SQL字符串,即 "call pr_add(?,?)" ,调用存储过程用call命令,call命令后跟存储过程名字,两个问号是占位符。

  使用Connection对象创建CallableStatement对象,即 conn.prepareCall(sql); 该方法接受一个字符串,代表一个sql语句。

  再用CallableStatement对象的executeQuery()执行SQL语句,返回一个ResultSet对象。

  利用ResultSet对象遍历得到的数据。

简单使用MySQL的存储过程

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Puis-je récupérer le mot de passe de la base de données dans Navicat? Puis-je récupérer le mot de passe de la base de données dans Navicat? Apr 08, 2025 pm 09:51 PM

Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.

Quelle est la plus utilisée de Linux? Quelle est la plus utilisée de Linux? Apr 09, 2025 am 12:02 AM

Linux est largement utilisé dans les serveurs, les systèmes intégrés et les environnements de bureau. 1) Dans le domaine du serveur, Linux est devenu un choix idéal pour héberger des sites Web, des bases de données et des applications en raison de sa stabilité et de sa sécurité. 2) Dans les systèmes intégrés, Linux est populaire pour sa personnalisation et son efficacité élevées. 3) Dans l'environnement de bureau, Linux fournit une variété d'environnements de bureau pour répondre aux besoins des différents utilisateurs.

Comment créer Navicat Premium Comment créer Navicat Premium Apr 09, 2025 am 07:09 AM

Créez une base de données à l'aide de NAVICAT Premium: Connectez-vous au serveur de base de données et entrez les paramètres de connexion. Cliquez avec le bouton droit sur le serveur et sélectionnez Créer une base de données. Entrez le nom de la nouvelle base de données et le jeu de caractères spécifié et la collation. Connectez-vous à la nouvelle base de données et créez le tableau dans le navigateur d'objet. Cliquez avec le bouton droit sur le tableau et sélectionnez Insérer des données pour insérer les données.

Questions d'entrevue CENTOS: Ace Your Linux System Administrator Interview Questions d'entrevue CENTOS: Ace Your Linux System Administrator Interview Apr 09, 2025 am 12:17 AM

Les questions et réponses fréquemment posées à l'entretien CentOS comprennent: 1. Utilisez la commande yum ou dnf pour installer des packages logiciels, tels que SudoyuminInstallnginx. 2. Gérer les utilisateurs et les groupes via des commandes UserAdd et GroupAdd, telles que SudouserAdd-M-S / Bin / BashNewuser. 3. Utilisez Firewalld pour configurer le pare-feu, comme SudoFirewall-CMD - Permanent-Add-Service = HTTP. 4. Définissez les mises à jour automatiques pour utiliser Yum-Cron, telles que SudoyuMinInstallyum-Cron et configure applat_updates = Oui.

Navicat se connecte au code et à la solution d'erreur de base de données Navicat se connecte au code et à la solution d'erreur de base de données Apr 08, 2025 pm 11:06 PM

Erreurs et solutions courantes Lors de la connexion aux bases de données: nom d'utilisateur ou mot de passe (erreur 1045) Blocs de pare-feu Connexion (erreur 2003) Délai de connexion (erreur 10060) Impossible d'utiliser la connexion à socket (erreur 1042) Erreur de connexion SSL (erreur 10055) Trop de connexions Résultat de l'hôte étant bloqué (erreur 1129)

Comment créer une nouvelle connexion à MySQL dans Navicat Comment créer une nouvelle connexion à MySQL dans Navicat Apr 09, 2025 am 07:21 AM

Vous pouvez créer une nouvelle connexion MySQL dans NAVICAT en suivant les étapes: ouvrez l'application et sélectionnez une nouvelle connexion (CTRL N). Sélectionnez "MySQL" comme type de connexion. Entrez l'adresse Hostname / IP, le port, le nom d'utilisateur et le mot de passe. (Facultatif) Configurer les options avancées. Enregistrez la connexion et entrez le nom de la connexion.

Navicat ne peut pas se connecter à MySQL / MARIADB / POSTRESQL et à d'autres bases de données Navicat ne peut pas se connecter à MySQL / MARIADB / POSTRESQL et à d'autres bases de données Apr 08, 2025 pm 11:00 PM

Raisons courantes pour lesquelles Navicat ne peut pas se connecter à la base de données et à ses solutions: 1. Vérifiez l'état d'exécution du serveur; 2. Vérifiez les informations de connexion; 3. Réglez les paramètres du pare-feu; 4. Configurer l'accès à distance; 5. Dépannage des problèmes de réseau; 6. Vérifier les autorisations; 7. Assurer la compatibilité de la version; 8. Dépannage d'autres possibilités.

See all articles