iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL--存储过程
  • 455
分享到

MySQL--存储过程

2024-04-02 19:04:59 455人浏览 薄情痞子
摘要

定义 一个复杂逻辑对sql语句的批量处理, 通过一个名字存储 创建 delimiter // 修改终止符 -- 存储过程没有返回值 delimiter // 

定义
一个复杂逻辑对sql语句的批量处理,
通过一个名字存储
创建
delimiter // 修改终止符
-- 存储过程没有返回值
delimiter //    ---- 把终止符;修改成//
create procedure porc2()
begin
-- 可执行语句
insert into mm_users values (0,'xiaownag','xxx');
select * from mm_users;
end
//       ---- 填写终止符
delimiter ;   ---- 还原原来的终止符以执行
查看
-- 查看 Mysql.proc
   select db,name,type from mysql.proc;
调用
-- 调用 如果存储过程没有参数 小括号可以省略
call proc();
--在pymysql中执行存储过程
    cursor.callproc('存储对象名')
删除
-- 删除
drop procedure proc_stu;
delete from mysql.proc where name = 'porc1';
- 存储过程和函数的区别
- 课件
-- 函数在使用时候有哪些限制 
-- select 语句不能够在函数中执行 
-- 函数中除 select into之外其他的 select 语句都不能够执行 
-- select into 是将查询的结果赋值给某一个变量 
delimiter // 
create function f4(in a int,in b int) returns int 
begin 
-- 定义一个变量 res 
declare res int default 0; 
-- 将 a + b的结果赋值给 res 
select count(*) from mm_users into res; 
-- set res = a + b; 
-- 返回 res 
return res; 
end 
// 
delimiter ; 
-- 通过存储过程来实现函数中不能够调用 select 语句的弊端 
-- 但是存储过程没有返回值 
-- 可以通过 out 类型的参数来给存储过程实现多个返回值的功能
- 相同点
相同点
存储过程和函数都是为了可重复的执行操作数据库的 sql 语句的集合.
存储过程和函数都是一次编译,就会被缓存起来,
下次使用就直接命中缓存中已经编译好的 sql,
不需要重复编译
减少网络交互,减少网络访问流量
- 不同点
不同点
标识符不同,函数的标识符是 function, 过程:procedure
函数中有返回值,且必须有返回值,而过程没有返回值,
但是可以通过设置参数类型(in,out)来实现多个参数或者返回值
函数使用 select 调用,存储过程需要使用 call 调用
select 语句可以在存储过中调用,
但是除了 select ... into 之外的 select 语句都不能再函数中调用
通过 in out 参数,过程相关函数更加灵活,可以返回多个结果
在实际开发中根据个人喜好选择使用函数或者存储过程
- 参数/返回值
-- 参数的类型
-- in 传入类型的参数,函数或者存储过程的参数 默认就是传入类型的参数
-- out 传出类型的参数, 给存储过程实现多个返回值的功能
-- inout  既可以传入又可以传出 一般不用 一个参数要表达多个意思,
造成参数的语义不够清晰 函数的参数的最大个数: 1024
procedure p1(
    in arg1 int,   # 让存储过程内部使用
    out arg2 varchar(50)
    inout arg3 int
)
begin
    ...
end
@i1 = "alex"
# @il 引用
call p1(1, @i1, @i2)  # @设置一个变量@i1= null
您可能感兴趣的文档:

--结束END--

本文标题: MySQL--存储过程

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL存储过程详解 mysql 存储过程
    mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Proce...
    99+
    2022-10-18
  • mysql存储过程
      -- 创建清除过期积分存储过程DELIMITER //DROP PROCEDURE IF EXISTS reportUrl // CREATE PROCEDURE reportUrl() BEGIN -- 定义变量 ...
    99+
    2019-07-21
    mysql存储过程
  • MYSQL——存储过程
       MYSQL的存储过程 1   存储过程是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理2   存储过程的优点  &nbs...
    99+
    2022-10-18
  • MySQL 存储过程
    参考地址1:https://blog.csdn.net/yanluandai1985/article/details/83656374 参考地址2:https://www.runoob.com/w3cnote/mysql-stored-p...
    99+
    2016-08-26
    MySQL 存储过程
  • MySQL--存储过程
    定义 一个复杂逻辑对SQL语句的批量处理, 通过一个名字存储 创建 delimiter // 修改终止符 -- 存储过程没有返回值 delimiter // ...
    99+
    2022-10-18
  • MySQL之存储过程
    我的小站:我的博客 1.1 存储过程简介 存储过程是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数的值 MySQL 5.0 版本开始支持存储过程。 存储过程(Stored Procedur...
    99+
    2023-09-02
    数据库 mysql sql
  • mysql的存储过程
    什么是存储过程 一组可编程的函数,是为了完成特定功能的SQL语句集 经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。 存储过程就是具有名字的一段代码,用来完成一个特定的功能。 创建的存储过...
    99+
    2015-04-21
    mysql的存储过程
  • mysql 存储过程demo
    从没写过mysql 存储过程,靠着百度和以前写oracle存储过程的经验写了一个,还算顺利,留个例子吧 CREATE DEFINER=`west_brain`@`%` PROCEDURE `man_tree...
    99+
    2022-10-18
  • mysql存储过程golang
    随着互联网应用的不断发展,数据存储和处理成为了每一个应用的核心部分。而MySQL是一款开源的关系型数据库管理系统,它被广泛应用于许多企业和Web应用。在MySQL中,存储过程是一种可编程的SQL语句集合,它可以被多次调用和重复使用。本文主要...
    99+
    2023-05-15
  • MySQL 存储过程示例
    两种方法获取返回值 用select DROP PROCEDURE IF EXISTS `getTableById`; CREATE DEFINER = `root`@`localhost` PROCEDURE `getTab...
    99+
    2020-01-20
    MySQL 存储过程示例
  • Mysql存储过程编写
    Mysql存储过程编写存储过程编写的模板:Create PROCEDURE PROCEDUREName (IN para mint,……)BeginDeclare varname type;语句;End;以...
    99+
    2022-10-18
  • MySQL基础-存储过程
    存储过程 定义:将一批为了完成特定功能的SQL语句集,根据传入的参数(也可没有),调用,完成单个sql语句更复杂的功能 存储过程思想很简单,就是SQL语句层面上的代码封装和重用 优点:1) 可封装,并隐藏复杂的业务逻辑;2) 可回传值,且可...
    99+
    2020-01-23
    MySQL基础-存储过程
  • mysql存储过程翻页
    mysql5.6.20版本 开发提了一个需要分页的存储过程需求,刚来时理解是,只要带入一个变量,根据变量计算下值,就直接分页实现了...可结果,创建存储过程的时候报错了...查了很多资料,后来才得知,li...
    99+
    2022-10-18
  • mysql有存储过程吗
    这篇文章主要介绍“mysql有存储过程吗”,在日常操作中,相信很多人在mysql有存储过程吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql有存储过程吗”的疑惑有所帮...
    99+
    2022-10-19
  • mysql 存储过程详解
    前言 在项目开发中,经常会遇到这样一种场景,当修改A表的一条数据时,需要关联修改B表、C表甚至其他更多表的数据,为什么会这样呢? 在真实的业务场景中,往往一张表的数据关联的业务是多样的,举例来说,用户在页面上完成一个订单,对服务端来说,与这...
    99+
    2023-08-17
    mysql 存储过程详解 mysql 存储过程使用 mysql 存储过程
  • MySQL视图、存储过程与存储引擎
    MySQL视图、存储过程与存储引擎 一、前言 ​ 前面的文章已经介绍了MySQL的索引与事务以及MySQL的备份与恢复的相关的内容,本文将对MySQL视图及存储过程以及存储引擎进行讲述。 二、MySQL...
    99+
    2022-10-18
  • 浅谈MYSQL存储过程和存储函数
    目录1. 什么是存储过程和存储函数?2. 创建存储过程3. 创建存储函数4. 存储过程和存储函数的使用5. 带有if语句的存储过程6. 带有循环语句的存储过程7. 带有事务的存储过程8. 带有游标的存储函数9. 存储过程...
    99+
    2023-05-05
    MYSQL存储过程 MYSQL 存储函数
  • Python 执行 mysql 存储过程
    mysql 创建简单的临时表 tmp create database test; use test; DROP TABLE IF EXISTS `tmp`; CREATE TABLE `tmp` ( `id` int(11...
    99+
    2023-01-30
    存储过程 Python mysql
  • mysql的存储过程介绍
    什么是mysql存储过程?存储程序是被存储在服务器中的组合SQL语句,经编译创建并保存在数据库中,用户可通过存储过程的名字调用执行。存储过程核心思想就是数据库SQL语言层面的封装与重用性。使用存储过程可以较...
    99+
    2022-10-18
  • mysql存储过程 in out inout
    存储过程的好处 存储过程是一组预编译好的sql语句,用来执行某个特定的功能。这样可以省去sql解析、编译、优化的过程,提高了执行效率,同时,在调用的时候只传一个存储过程的名称,而不用传一大堆sql语句,减少...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作