mysql 存储过程简介
存储过程类似一个存储在数据库的一个数据库脚本。它类似一个方法,可以批量执行一些数据库的操作。
本文编写一个简单的存储过程来快速了解存储过程。
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 存储过程简介的更多相关文章
- mysql存储过程简介
创建存储过程CREATE PROCEDURE productpricing(OUT pl DECIMAL(8,2),OUT ph DECIMAL(8,2),OUT pa DECIMAL(8,2))BE ...
- MySQL存储过程简介和引擎说明
- MySQL 存储过程
MySQL 存储过程 存储过程是通过给定的语法格式编写自定义的数据库API,类似于给数据库编写可执行函数. 简介 存储过程是一组为了完成特定功能的SQL语句集合,是经过编译后存储在数据库中. 存储过程 ...
- mysql存储过程详解
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...
- mysql 存储过程详解 存储过程
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成 ...
- MySQL存储过程详解 mysql 存储过程
原文地址:MySQL存储过程详解 mysql 存储过程作者:王者佳暮 mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储 ...
- MySQL存储过程详解 mysql 存储过程(二)
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL ...
- mysql存储过程详解[转]
1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储 ...
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
随机推荐
- 一种构造WEB服务器端recv和send接口阻塞现象的方法
send阻塞 socket recv send接口阻塞,会导致服务器端不在响应客户端任何请求,所以一般情况, 会将socket设置为非阻塞状态, 但是有些场景,例如ssl_accept就需要使用阻塞的 ...
- OleContainer控件介绍
OLEContainer 控件的主要属性 1) AllowInPlace property AllowInPlace:Boolean; 这个属性用于决定启动O ...
- 写在开始编写Java之前(2)——Java的环境
上回说到Java具有跨系统性的特点 但是每个系统还是有其Java虚拟机,叫做JVM 其中Java运行环境(JRE)中就包括了JVM 假如你只要运行已经编辑好的Java语句,只要下载JRE就行了 但是作 ...
- objective-c第六章课后练习6
题6:接受从终端输入的整数,提取并用英语显示这个数的每一个数字,如932,显示nine three two (题目中注了.这个练习很难)的确有点难,自己想了很久网上也各种搜索.也算是找到参考了 cod ...
- PHP安全性
一.防sql注入 用户通过输入完整的字符,来和sql语句拼接成带有破坏性的sql语句,服务器执行该语句,造成破坏. 1使用mysql_real_escape_string()过滤数据,该方法在未来版本 ...
- PHP二维数组提取函数----把不需要的数据剔除
首先说明一些这个函数的应用场景,比如说你得到的数据是个二维数组,里面的很多成员其实是不必要的,比如说api调用后不必要给别人返回一些用不到的垃圾数据吧,如下是代码. <?php /* * del ...
- 十六、Java基础---------集合框架之Set
写在前面的话,这篇文章在昨天就写好了,今天打开的时候一不小心将第二天的文章粘贴到了这篇文章,很不幸的是除了标题之外依然面目全非,今天带着沉痛的心情再来写这篇文章! 上篇文章介绍了Collection体 ...
- Intel+Ardruino 101 翻转时点灯
/* =============================================== Example sketch for CurieIMU library for Intel(R ...
- JAVA下的Thread.sleep方法一定要try
try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } 不同于C#,JAVA里的Thre ...
- C# 使用 Abot 实现 爬虫 抓取网页信息 源码下载
下载地址 ** dome **