iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql创建存储过程的具体步骤
  • 428
分享到

mysql创建存储过程的具体步骤

2024-04-02 19:04:59 428人浏览 独家记忆
摘要

下文给大家带来关于Mysql创建存储过程的具体步骤,感兴趣的话就一起来看看这篇文章吧,相信看完mysql创建存储过程的具体步骤对大家多少有点帮助吧。        &

下文给大家带来关于Mysql创建存储过程的具体步骤,感兴趣的话就一起来看看这篇文章吧,相信看完mysql创建存储过程的具体步骤对大家多少有点帮助吧。

                                                           

mysql创建存储过程的具体步骤

优点(为什么要用存储过程?):

①将重复性很高的一些操作,封装到一个存储过程中,简化了对这些sql的调用

②批量处理:SQL+循环,减少流量,也就是“跑批”

③统一接口,确保数据的安全

相对于oracle数据库来说,MySQL的存储过程相对功能较弱,使用较少。

一、存储过程的创建和调用

  >存储过程就是具有名字的一段代码,用来完成一个特定的功能。

  >创建的存储过程保存在数据库的数据字典中。

1、创建存储过程

CREATE
    [DEFINER = { user | CURRENT_USER }]
 PROCEDURE sp_name ([proc_parameter[,...]])
    [characteristic ...] routine_body

proc_parameter:
    [ IN | OUT | INOUT ] param_name type

characteristic:
    COMMENT 'string'
  | LANGUAGE SQL  | [NOT] DETERMINISTIC  | { CONTaiNS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }  | SQL SECURITY { DEFINER | INVOKER }

routine_body:
  Valid SQL routine statement

[begin_label:] BEGIN
  [statement_list]
    ……
END [end_label]

#创建数据库,备份数据表用于示例操作

mysql> create database db1;
mysql> use db1;    
mysql> create table PLAYERS as select * from TENNIS.PLAYERS;
mysql> create table MATCHES  as select * from TENNIS.MATCHES;

示例:创建一个存储过程,删除给定球员参加的所有比赛

mysql> delimiter $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)
mysql> CREATE PROCEDURE delete_matches(IN p_playerno INTEGER)
    -> BEGIN
    ->   DELETE FROM MATCHES
    ->    WHERE playerno = p_playerno;
    -> END$$
Query OK, 0 rows affected (0.01 sec)

mysql> delimiter ;  #将语句的结束符号恢复为分号

解析:

默认情况下,存储过程和默认数据库相关联,如果想指定存储过程创建在某个特定的数据库下,那么在过程名前面加数据库名做前缀;

在定义过程时,使用DELIMITER $$ 命令将语句的结束符号从分号 ; 临时改为两个$$,使得过程体中使用的分号被直接传递到云服务器,而不会被客户端(如mysql)解释。

二、存储过程的参数

  存储过程可以有0个或多个参数,用于存储过程的定义。

3种参数类型:

IN输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)

OUT输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)

INOUT输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

1、in输入参数

mysql> delimiter $$
mysql> create procedure in_param(in p_in int)    -> begin    ->   select p_in;    ->   set p_in=2;    ->    select P_in;    -> end$$
mysql> delimiter ;
mysql> set @p_in=1;
mysql> call in_param(@p_in);+------+
| p_in |
+------+
|    1 |
+------+
+------+
| P_in |
+------+
|    2 |
+------+mysql> select @p_in;+-------+
| @p_in |
+-------+
|     1 |
+-------+

#以上可以看出,p_in在存储过程中被修改,但并不影响@p_id的值,因为前者为局部变量、后者为全局变量。

2、out输出参数

mysql> delimiter //mysql> create procedure out_param(out p_out int)    ->   begin    ->     select p_out;    ->     set p_out=2;    ->     select p_out;    ->   end    -> //mysql> delimiter ;

mysql> set @p_out=1;

mysql> call out_param(@p_out);+-------+
| p_out |
+-------+
|  NULL |
+-------+  #因为out是向调用者输出参数,不接收输入的参数,所以存储过程里的p_out为null+-------+
| p_out |
+-------+
|     2 |
+-------+mysql> select @p_out;+--------+
| @p_out |
+--------+
|      2 |
+--------+  #调用了out_param存储过程,输出参数,改变了p_out变量的值

3、inout输入参数

mysql> delimiter $$
mysql> create procedure inout_param(inout p_inout int)    ->   begin    ->     select p_inout;    ->     set p_inout=2;    ->     select p_inout;    ->   end    -> $$
mysql> delimiter ;

mysql> set @p_inout=1;

mysql> call inout_param(@p_inout);+---------+
| p_inout |
+---------+
|       1 |
+---------+

+---------+
| p_inout |
+---------+
|       2 |
+---------+mysql> select @p_inout;+----------+
| @p_inout |
+----------+
|        2 |
+----------+

#调用了inout_param存储过程,接受了输入的参数,也输出参数,改变了变量

注意:

①如果过程没有参数,也必须在过程名后面写上小括号

    例:CREATE PROCEDURE sp_name ([proc_parameter[,...]]) ……

②确保参数的名字不等于列的名字,否则在过程体中,参数名被当做列名来处理

强烈建议:

>输入值使用in参数;

>返回值使用out参数;

>inout参数就尽量的少用。

看了以上关于mysql创建存储过程的具体步骤详细内容,是否有所收获。如果想要了解更多相关,可以继续关注我们的数据库板块。 

您可能感兴趣的文档:

--结束END--

本文标题: mysql创建存储过程的具体步骤

本文链接: https://www.lsjlt.com/news/35528.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL怎么创建存储过程
    要在MySQL中创建存储过程,可以按照以下步骤操作:1. 打开MySQL客户端或使用类似phpMyAdmin等工具连接到MySQL数...
    99+
    2023-08-23
    MySQL
  • mysql如何创建存储过程
    小编给大家分享一下mysql如何创建存储过程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.创建存储过程p3 (先更改结束符 ...
    99+
    2024-04-02
  • mysql存储过程怎么创建
    这篇文章主要介绍“mysql存储过程怎么创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql存储过程怎么创建”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • mysql中怎么创建存储过程
    mysql中怎么创建存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql创建存储过程和函数 一个存储程序是可以被存储在服...
    99+
    2024-04-02
  • JFinal 调用存储过程的步骤
    目录存储过程创建储存过程JFinal调用新建实现ICallback的类调用存储过程 存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储...
    99+
    2024-04-02
  • SQL中创建存储过程
    目录创建SQL存储过程需要使用到的语法无参数带参两个参数declare关键字的使用IF语句case语句loop语句repeatwhile创建SQL存储过程需要使用到的语法 - 创建存储过程 CREATE 存储过程的名称(...
    99+
    2024-04-02
  • 详解MySQL存储过程的创建和调用
    目录前言存储过程(Stored Procedure):一、存储过程的创建和调用1、创建存储过程2、调用存储过程:call sp_name[(传参)];3、存储过程体4、为语句块贴标签...
    99+
    2024-04-02
  • mysql如何创建存储过程及函数
    这篇文章主要为大家展示了“mysql如何创建存储过程及函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql如何创建存储过程及函数”这篇文章吧。1. 存储过程1.1. 基本语法create...
    99+
    2023-06-21
  • MySQL存储过程和函数怎么创建
    这篇文章主要介绍“MySQL存储过程和函数怎么创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL存储过程和函数怎么创建”文章能帮助大家解决问题。1.0  创建存储过程和函数创建存...
    99+
    2023-06-30
  • mysql存储过程的参数类型具体是哪些
    这篇文章将为大家详细讲解有关mysql存储过程的参数类型具体是哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。mysql存储过程的参数类型有三种:1、输入...
    99+
    2024-04-02
  • mysql创建存储过程及函数详解
    目录1. 存储过程1.1. 基本语法1.2 创建一个指定执行权限的存储过程1.3 DELIMITER 的使用2. 创建函数 1. 存储过程 1.1. 基本语法 create pr...
    99+
    2024-04-02
  • Linux系统搭建ISCSI存储服务器具体步骤是什么
    这篇文章跟大家分析一下“Linux系统搭建ISCSI存储服务器具体步骤是什么”。内容详细易懂,对“Linux系统搭建ISCSI存储服务器具体步骤是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着...
    99+
    2023-06-28
  • MySQL系列(九)存储过程的创建和使用
    (1)利用预处理sql语句输出teacher表中前n行记录,执行预处理命令时具体输出前5行的数据。 set @a = 5;prepare pteac from "select * from ...
    99+
    2023-09-14
    mysql sql
  • mysql数据库中创建存储过程的案例
    小编给大家分享一下mysql数据库中创建存储过程的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql存储过程教程:首先...
    99+
    2024-04-02
  • 在MySQL中创建带分隔符的存储过程
    您可以使用create procedure命令创建存储过程。语法如下 −delimiter // CREATE PROCEDURE yourStoreProcedureName() BEGIN Declare variable her...
    99+
    2023-10-22
  • sqlserver如何创建存储过程
    要在SQL Server中创建存储过程,可以按照以下步骤进行操作: 打开SQL Server Management Studio...
    99+
    2024-04-30
    sqlserver
  • mysql创建定时任务执行存储过程
    存储过程已添加好:https://blog.csdn.net/YXWik/article/details/127283316 1.创建定时器用来执行存储过程函数 create event delete_dataon schedu...
    99+
    2023-08-17
    mysql
  • 大数据的存储与分析的具体操作步骤
    大数据的存储与分析包括以下具体操作步骤:1. 数据采集:从多个来源(如传感器、日志文件、社交媒体等)收集大量的数据。2. 数据清洗:...
    99+
    2023-10-11
    大数据
  • MySQL数据库之存储过程怎么创建
    本篇内容介绍了“MySQL数据库之存储过程怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:stored procedure 完成...
    99+
    2023-07-02
  • 创建CLR存储过程是怎样的
    今天给大家介绍一下创建CLR存储过程是怎样的。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。下面叙述了创建CLR存储过程,从理论到实践,笔者把代码做了清晰地解释...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作