存储过程是数据库管理中常用的技术之一,可以很方便的做些类似数据统计、数据分析等工作,市场上的SQL SERVER、ORACLE、MySQL都支持存储过程,但不同的数据库环境语法结构有点区别,本案例给大家讲解下MySQL创建存储过程的方法。
使用常规的创建存储过程方法,发现各种报错,无法执行,在SQL SERVER下很容易成功的写法,在MySQL下居然不行,经过查找资料发现在MySQL中需要设置DELIMITER。
这是正确的存储过程写法,可以成功执行,相比较上图的报错,增加了DELIMITER,简单解释下这个命令的用途,在MySQL中每行命令都是用“;”结尾,回车后自动执行,在存储过程中“;”往往不代表指令结束,马上运行,而DELIMITER原本就是“;”的意思,因此用这个命令转换一下“;”为“//”,这样只有收到“//”才认为指令结束可以执行。
该存储过程的功能是将“编号”这行记录的流水号+1,在执行存储过程之前,我们查看下数据库中该表的数据情况。
执行存储过程使用call命令,与SQL SERVER的exec用法一样,执行后发现了返回值,流水号已经+1
为了确认数据库中数据确实修改,重新执行遍查询操作。
该例中使用了start transaction;事务处理,功能就不解释了,但用法与SQL SERVER有点区别,事实上MySQL在很多地方的语法上与SQL SERVER不一样,但功能类似,需要大家多接触,多练习。
还有一点需要补充下,在MySQL中似乎没有修改存储过程的命令,执行alter procedure报错。
分析了下mysql workbench工具中的alter命令,其实是先执行的drop然后在create,没有直接用alter操作。
文章来源:http://jingyan.baidu.com/article/9f7e7ec05954d46f281554a5.html
相关推荐
### MySQL 创建存储过程详解 #### 一、存储程序概述 **存储程序**是可以在MySQL服务器中定义并存储的一组SQL语句。它们的功能类似于过程化的编程语言中的函数或过程,可以封装复杂的逻辑,并且能够在数据库层面...
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
mysql创建存储过程测试实验讲解.pdf
本资源是mysql创建存储过程和计划任务实例,实现"待付款订单下单后15分钟未付款就取消订单"的需求。
在MySQL 入门教程中,我们能够看到很多关于如何创建储存过程 和如何利用 IN 和 OUT 参数调用存储过程的示例。这些示例都很简单,能够很好的帮助你理解 MySQL 中创建带参数存储过程的语法。这些示例已在 MySQL 5.5 中...
创建存储过程并循环添加记录是数据库管理中的常见任务,尤其是在需要批量插入数据时。以下将详细解释如何在MySQL中实现这一功能。 首先,我们需要了解存储过程的基本创建方法。在MySQL中,我们使用`CREATE ...
创建存储过程涉及`CREATE PROCEDURE`语句,需要指定过程名、参数(如果有的话)以及包含的SQL语句。例如: ```sql CREATE PROCEDURE ProcName(IN param1 INT, OUT param2 VARCHAR(50)) BEGIN SELECT column1 ...
本篇文章将详细解析如何创建存储过程以实现在数据表中动态新增字段的功能。 首先,我们来理解基本的存储过程创建语法。在MySQL中,`DELIMITER`命令用于更改分隔符,使得我们可以定义存储过程中的结束符号。例如,...
在MySQL中,可以使用`CREATE PROCEDURE`语句来创建存储过程。例如,以下是一个简单的存储过程,用于计算两个数字的和: ```sql CREATE PROCEDURE addNumbers(IN num1 INT, IN num2 INT, OUT result INT) BEGIN SET...
在本主题中,我们将深入探讨如何使用MySQL5创建存储过程,并结合PL/SQL语言来实现分表功能。 首先,让我们了解存储过程的基本语法。在MySQL中,创建存储过程通常包含以下部分: 1. `CREATE PROCEDURE` 关键字,...
一、什么是MySQL存储过程? 在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是...三、Navicat创建一个存储过程 (1):先选择某个数据库中的函
首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个分号(;)而不会导致命令提前结束。存储过程的定义如下: ```sql CREATE PROCEDURE ...
MySQL数据库在处理大数据量时,分页查询是一种非常常见的优化手段,它可以帮助用户按需加载数据,避免一次性加载...通过创建存储过程并在应用程序中调用,我们可以更好地控制分页逻辑,提高查询速度,提升用户体验。
在“MySQL5.0存储过程.pdf”中,你将学到如何创建、调用和管理存储过程,以及它们在实际应用中的用法。 存储过程的创建涉及定义输入参数、输出参数和局部变量。你可以编写一系列的SELECT、INSERT、UPDATE、DELETE等...
在主流的数据库系统中,如MySQL、SQL Server和Oracle,创建存储过程的语法有所不同,但基本结构类似: 1. MySQL: ```sql CREATE PROCEDURE proc_name([IN|OUT|INOUT] param1 datatype, ...) BEGIN -- SQL语句 END;...
创建存储过程1 课程目标 1)了解 ——存储过程的优点; 2)理解 —— 存储过程的概念; 3)掌握 —— 存储过程的创建方法; 存储过程优点 使用存储过程的优点有: (1)存储过程在服务器端运行,执行速度快。 (2)...
在MySQL中,我们可以通过创建存储过程来实现这一功能,下面将详细介绍两种不同分页大小(每页显示20条记录和每页显示5条记录)的存储过程实现。 ### 存储过程一:每页显示20条记录 #### 创建存储过程 ```sql ...
- **创建与调用**:通过`CREATE PROCEDURE`语句创建存储过程,通过`CALL`语句调用。 #### 三、导出存储过程的方法 为了确保数据库中的存储过程能够被正确地导出并重新导入,我们需要使用特定的命令来进行操作。根据...
在MySQL中,使用`CREATE PROCEDURE`语句创建存储过程。例如: ```sql CREATE PROCEDURE proc_name (IN param1 datatype, OUT param2 datatype) BEGIN -- SQL语句块 END; ``` 这里的`proc_name`是存储过程的名称,`...