广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库之存储过程怎么创建
  • 761
分享到

MySQL数据库之存储过程怎么创建

2023-07-02 09:07:05 761人浏览 薄情痞子
摘要

本篇内容介绍了“MySQL数据库之存储过程怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:stored procedure 完成

本篇内容介绍了“MySQL数据库之存储过程怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    前言:

    stored procedure 完成特定功能的sql语句集,存储在数据库中,经过第一次编译之后再次调用不需要编译(效率较高)

    1、存储过程与函数的区别

    1.1、相同点

    • 都是为了可重复地执行操作数据库的SQL语句集合

    • 都是一次编译,多次执行

    1.2、不同点

    • 标识符不同,函数function 过程 procedure

    • 函数中有返回值,且必须返回,而过程没有返回值

    • 过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除了在select中,必须将返回值赋值给变量

    • 函数可以再select语句中直接使用,而过程不能

    2、存储过程的操作

    2.1、创建过程

    基本语法:

    create procedure 过程名字([参数列表])
    bengin
        过程体
    end
    结束符

    如果只有只有一条指令可以省略begin和end

    create procedure my_pro1()select * from my_student;

    过程基本上可以完成函数对应的所有功能:

    -- 修改语句结束符delimiter $$-- 创建过程create procedure my_pro2()begin    -- 求1到100之间的和    -- 创建局部变量    declare i int default 1;    -- declare sum int default 0;    -- 会话变量    set @sum = 0;    -- 开始循环获取结果    while i <= 100 do        -- 求和        set @sum = @sum + i;        set i = i + 1;    end while;    -- 显示结果    select @sum;end$$delimiter ;

    2.2、查看过程

    -- 查看所有存储过程show procedure status [like 'pattern'];-- 查看过程的创建语句show create procedure 过程名字\G

    2.3、调用过程

    过程没有返回值

    基本语法:

    call 过程名([实参列表]);-- eg:call my_pro2();+------+| @sum |+------+| 5050 |+------+

    2.4、删除过程

    基本语法:

    drop procedure 过程名;

    3、存储过程的形参类型

    存储过程的参数和函数一样,需要制定其类型

    但是存储过程对参数还有额外的要求,自己的参数分类:

    • in:(值传递)参数从外部传入,在过程内部使用,可以是直接数据,也可以是保存数据的变量

    • out:(引用传递)参数在过程中赋值,传入必须是变量,如果有外部数据,会被清空为null

    • inout:(引用传递)数据可以从外部传入过程内部使用,同时内部操作之后,又回将数据返回给外部

    代码示例:

    -- 创建3个会话变量set @var1 = 1;set @var2 = 2;set @var3 = 3;-- 查询会话变量select @var1, @var2, @var3;+-------+-------+-------+| @var1 | @var2 | @var3 |+-------+-------+-------+|     1 |     2 |     3 |+-------+-------+-------+1 row in set (0.00 sec)-- 修改语句结束符delimiter $$-- 定义过程create procedure my_pro3(in a int, out b int, inout c int)begin    -- 查看传入的3个数据值    select a, b, c;    -- +------+------+------+    -- | a    | b    | c    |    -- +------+------+------+    -- |    1 | NULL |    3 |    -- +------+------+------+    -- 修改3个变量值    set a = 10;    set b = 20;    set c = 30;    select a, b, c;    -- +------+------+------+    -- | a    | b    | c    |    -- +------+------+------+    -- |   10 |   20 |   30 |    -- +------+------+------+    -- 查看会话变量    select @var1, @var2, @var3;    -- +-------+-------+-------+    -- | @var1 | @var2 | @var3 |    -- +-------+-------+-------+    -- |     1 |     2 |     3 |    -- +-------+-------+-------+    -- 修改会话变量    set @var1 = 'a';    set @var2 = 'b';    set @var3 = 'c';    select @var1, @var2, @var3;    -- +-------+-------+-------+    -- | @var1 | @var2 | @var3 |    -- +-------+-------+-------+    -- | a     | b     | c     |    -- +-------+-------+-------+end$$delimiter ;-- 调用过程call my_pro3(@var1, @var2, @var3);-- 再次查看会话变量Mysql> select @var1, @var2, @var3;+-------+-------+-------+| @var1 | @var2 | @var3 |+-------+-------+-------+| a     |    20 |    30 |+-------+-------+-------+

    分析:

    • 实参传入过程之后,实际上没有改变外部变量的值,而是把值给了形参,out类型不能接收外部变量的值,默认为null

    • 当过程执行到end 的时候,如果是out或inout变量,会将形参的值重新赋值给实参变量

    mysql数据库之存储过程怎么创建”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

    您可能感兴趣的文档:

    --结束END--

    本文标题: MySQL数据库之存储过程怎么创建

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

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

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

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

    下载Word文档
    猜你喜欢
    • MySQL数据库之存储过程怎么创建
      本篇内容介绍了“MySQL数据库之存储过程怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言:stored procedure 完成...
      99+
      2023-07-02
    • SQLServer数据库中怎么创建存储过程
      SQLServer数据库中怎么创建存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  SQLServer数据库存储过程怎么创建和应用  ...
      99+
      2022-10-18
    • mysql存储过程怎么创建
      这篇文章主要介绍“mysql存储过程怎么创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql存储过程怎么创建”文章能帮助大家解决问题。 ...
      99+
      2022-10-19
    • MySQL怎么创建存储过程
      要在MySQL中创建存储过程,可以按照以下步骤操作:1. 打开MySQL客户端或使用类似phpMyAdmin等工具连接到MySQL数...
      99+
      2023-08-23
      MySQL
    • MySQL数据库之存储过程 procedure
      目录1、存储过程与函数的区别1.1、相同点1.2、不同点2、存储过程的操作2.1、创建过程2.2、查看过程2.3、调用过程2.4、删除过程3、存储过程的形参类型前言: stored procedure 完成特定功能的SQ...
      99+
      2022-06-15
      MySQL数据库 MySQL存储过程 procedure
    • mysql数据库中创建存储过程的案例
      小编给大家分享一下mysql数据库中创建存储过程的案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql存储过程教程:首先...
      99+
      2022-10-18
    • 数据库优化之创建存储过程、触发器
          存储过程可加快查询的执行速度,提高访问数据的速度,帮助实现模块化编程,保存一致性,提高安全性。触发器是在对表进行插入、更新、删除操作时自动执行的存储过程,通常用于强制业务规则。一...
      99+
      2022-10-18
    • MySQL存储过程和函数怎么创建
      这篇文章主要介绍“MySQL存储过程和函数怎么创建”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“MySQL存储过程和函数怎么创建”文章能帮助大家解决问题。1.0  创建存储过程和函数创建存...
      99+
      2023-06-30
    • mysql中怎么创建存储过程
      mysql中怎么创建存储过程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql创建存储过程和函数 一个存储程序是可以被存储在服...
      99+
      2022-10-18
    • mysql数据库存储过程之while循环
      一、语法。 while循环是有条件的循环控制语句,满足条件后,再执行循环体中的SQL语句,具体语法为: #先判定条件,如果条件为TRUE,则执行逻辑,否则不执行逻辑while 条件 do SQL逻辑 end while; 二、案例。 计...
      99+
      2023-09-21
      数据库 sql
    • mysql 创建存储过程插入测试数据
      做项目过程中遇到需要插入有序的测试数据,不想写php循环,网上找到方法,复习了一遍存储过程了哈哈。SQL语句参考自 https://stackoverflow.com/questions/26981901/...
      99+
      2022-10-18
    • 创建MYSQL的储存过程
         创建MYAQL的存储过程         1   创建不带参数的储存过程   CREATE &nbs...
      99+
      2022-10-18
    • mysql 存储过程的创建
      注:(1)这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程当成SQL...
      99+
      2022-10-18
    • MySQL 5.5 创建存储过程和函数
      执行CREATE PROCEDURE和CREATE FUNCTION语句需要CREATE ROUTINE权限。 查看neo用户现有权限 授权 mysql> grant create routin...
      99+
      2022-10-18
    • 用Navicat创建MySQL存储过程
      使用Navicat for MySQL工具创建存储过程步骤: 点击函数右键新建: 点击下一步 最后点击完成以后弹出以下界面 在此处编写自己的sql语句,编写完成以后点击保存 最后测试一下自己的存储过程是否成功 ...
      99+
      2015-06-25
      用Navicat创建MySQL存储过程
    • mysql如何创建存储过程
      小编给大家分享一下mysql如何创建存储过程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.创建存储过程p3 (先更改结束符 ...
      99+
      2022-10-19
    • Oracle中怎么创建存储过程和存储函数
      本篇文章为大家展示了Oracle中怎么创建存储过程和存储函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。select * from emp;------...
      99+
      2022-10-18
    • mysql数据库的存储过程
      本篇内容介绍了“mysql数据库的存储过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、创建存储过...
      99+
      2022-10-18
    • mysql数据库存储数据的过程
      这篇文章主要讲解了“mysql数据库存储数据的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql数据库存储数据的过程”吧! 存储过程如下: J...
      99+
      2022-10-18
    • mysql创建存储过程及函数详解
      目录1. 存储过程1.1. 基本语法1.2 创建一个指定执行权限的存储过程1.3 DELIMITER 的使用2. 创建函数 1. 存储过程 1.1. 基本语法 create pr...
      99+
      2022-11-12
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作