存储过程类似一个存储在数据库的一个数据库脚本。它类似一个方法,可以批量执行一些数据库的操作。

本文编写一个简单的存储过程来快速了解存储过程。

1.因为存储过程类似编程语言的方法,所以方法中可能会用到 ; 运算符来标志一条语句的结束。这和mysql命令行语句结束标志 ; 是冲突的。为了在命令行中编写存储过程,我们先更改mysql语句的结尾标志:

mysql> delimiter $

执行这条语句之后,mysql语句的结尾标识符就被定义成了 $ 。这样就避免了定义存储过程中标识符冲突的问题。

例如查询语句 select * from student; 定义后需输入 select * from student $ 才能执行。

2.定义存储过程语句

create procedure addstudent(in maxsize int)
 begin
 declare var int;
 );
 declare sch_id int;
 );
 ;
 while var < maxsize do
 set stu_name = 'rockderia';
 ;
 set cls_name = '一年一班';
 insert into student (CName, SchoolID, ClassName) values (stu_name, sch_id, cls_name);
 ;
 end while;
 end;
$

结尾的$标志着定义完成。我们可以看到,创建存储过程的大体模式和创建表类似,而本体又和一个脚本方法类似。有几点区别特别注意:

[1]需要使用mysql自己的基本变量类型。

[2]变量类型放在变量名的后边。

[3]定义变量语句(例如:declare var int;)要位于所有语句之前。

上述语句其实不难理解,也没有用到太多的特性,主要就是了解以下存储过程的使用过程。

3.定义成功后,我们可以调用这个存储过程

mysql)$

上述的方法会插入10条数据。

4.存储方式不支持覆盖,所以需要修改的时候直接删除旧的存储方式在重新创建即可。

drop procedure addstudent$

5.当然,没有冲突操作的时候我们可以把结尾标识符改回来

mysql> delimiter ;

mysql 存储过程简介的更多相关文章

  1. mysql存储过程简介

    创建存储过程CREATE PROCEDURE productpricing(OUT pl DECIMAL(8,2),OUT ph DECIMAL(8,2),OUT pa DECIMAL(8,2))BE ...

  2. MySQL存储过程简介和引擎说明

  3. MySQL 存储过程

    MySQL 存储过程 存储过程是通过给定的语法格式编写自定义的数据库API,类似于给数据库编写可执行函数. 简介 存储过程是一组为了完成特定功能的SQL语句集合,是经过编译后存储在数据库中. 存储过程 ...

  4. mysql存储过程详解

    mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...

  5. mysql 存储过程详解 存储过程

    mysql存储过程详解 1.      存储过程简介         我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成 ...

  6. MySQL存储过程详解 mysql 存储过程

    原文地址:MySQL存储过程详解  mysql 存储过程作者:王者佳暮 mysql存储过程详解 1.     存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储 ...

  7. MySQL存储过程详解 mysql 存储过程(二)

    mysql存储过程详解 1.      存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL ...

  8. mysql存储过程详解[转]

    1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储 ...

  9. MySQL存储过程 游标

    MySQL存储过程  游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...

随机推荐

  1. python 安装pillow

    安装 警告 Pillow >= 2.1.0 不支持 “import _imaging”.请使用 “from PIL.Image import core as _imaging” 代替. 警告 P ...

  2. 用Unity开发HTC VIVE——移动漫游篇

    这篇文章主要写的是通过手柄控制移动在场景中漫游.在通过手柄控制移动时,我主要写了两个脚本一个ChildTransform.cs.Move.cs;1. ChildTransform这个脚本主要是为了获取 ...

  3. Communication 交流

    1:请不要立马抗拒别人的观点,先沉默下来思考,在做出回应. 2:在与别人交流的时候,请尽量先让别人同意你的观点,找到共同点,让别人回答 "是";

  4. Scala正则和抽取器:解析方法参数

    在<正则表达式基础知识>中概括了正则表达式的基础知识, 本文讲解如何使用正则表达式解析方法参数,从而可以根据 DAO 自动生成 Service. 在做 Java 项目时,常常要根据 DAO ...

  5. Linux内核链表深度分析【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51325646 链表简介: 链表是一种常用的数据结构,它通过指针将一系列数据节点连 ...

  6. 报错:org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:4517)

    在Mars.Kepler的版本裡,時常會出現以下錯誤導致eclipse無法進行運作 Error.log org.eclipse.swt.SWTError: No more handles     at ...

  7. python发送邮件方法

    1.普通文本邮件 #!/usr/bin/env python # -*- coding:utf-8 -*- import smtplib from email.mime.text import MIM ...

  8. SQL 四种基本数据操作语句的基本使用

    SQL中含有四种基本的数据操作语句,分别是增(INSERT),删(DELETE),查(SELECT),改(UPDATE).下面简单介绍这四种语句的用法. 1:增(INSERT) 可分为两种查询情况,一 ...

  9. mysql 插入中文报错: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value...

    总结写在前面, 总结: 当Java通过jdbc链接mysql插入中文时,要保证程序可以正常执行,而且插入的中文不会乱码, mysql服务器端,对数据表(不是数据库)的编码设置,要保证是支持中文的,例如 ...

  10. NSDate获取当前时区的时间

    [NSDate date]获取的是GMT时间,要想获得某个时区的时间,以下代码可以解决这个问题 NSDate *date = [NSDate date]; NSTimeZone *zone = [NS ...