- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《MySQL存储过程》.pdf
MySQL 5.0 新特性教程 存储过程
Introduction 简介
MySQL 5.0 新特性教程是为需要了解 5.0 版本新特性的 MySQL 老用户而写的。简单的来
说是介绍了“存储过程、触发器、视图、信息架构视图”。
希望这本书能像内行专家那样与您进行对话,用简单的问题、例子让你学到需要的知识。
为了达到这样的目的,我会从每一个细节开始慢慢的为大家建立概念,最后会给大家展示较
大的实用例,在学习之前也许大家会认为这个用例很难,但是只要跟着课程去学,相信很快
就能掌握。
Conventions and Styles 约定和编程风格
每次我想要演示实际代码时,我会对 mysql客户端的屏幕出现的代码进行调整,将字体
改成 Courier,使他们看起来与普通文本不一样。
在这里举个例子:mysql DROP FUNCTION f;Query OK, 0 rows affected (0.00 sec)
如果实例比较大,则需要在某些行和段落间加注释,同时我会用将“--”符号放在页
面的右边以表示强调。
例如:
mysql CREATE PROCEDURE p ()
- BEGIN
- /* This procedure does nothing */ --
- END;//Query OK, 0 rows affected (0.00 sec)
有时候我会将例子中的mysql和-这些系统显示去掉,你可以直接将代码复制到
mysql 客户端程序中(如果你现在所读的不是电子版的,可以在 网站下载相关脚
本)所以的例子都已经在 Suse 9.2 Linux、Mysql 5.0.3 公共版上测试通过。
在您阅读本书的时候,Mysql 已经有更高的版本,同时能支持更多 OS了,包括 Windows,
Sparc,HP-UX。因此这里的例子将能正常的运行在您的电脑上。但如果运行仍然出现故障,
可以咨询你认识的资深 Mysql 用户,以得到长久的支持和帮助。
A Definition and an Example 定义及实例
定义及实例存储过程是一种存储在书库中的程序(就像正规语言里的子程序一样),准
确的来说,MySQL 支持的“routines(例程)”有两种:一是我们说的存储过程,二是在其
他 SQL 语句中可以返回值的函数 (使用起来和 Mysql 预装载的函数一样,如 pi())。我在
本书里面会更经常使用存储过程,因为这是我们过去的习惯,相信大家也会接受。
一个存储过程包括名字,参数列表,以及可以包括很多 SQL 语句的 SQL 语句集。
在这里对局部变量,异常处理,循环控制和 IF 条件句有新的语法定义。
下面是一个包括存储过程的实例声明:(译注:为了方便阅读,此后的程序不添任何中
文注释)
CREATE PROCEDURE procedure1 /* name 存储过程名*/
(IN parameter1 INTEGER) /* parameters 参数*/
BEGIN /* start of block 语句块头*/
DECLARE variable1 CHAR(10); /* variables变量声明*/
IF parameter1 = 17 THEN /* start of IF IF 条件开始*/
SET variable1 = birds; /* assignment 赋值*/
ELSE
SET variable1 = beasts; /* assignment赋值*/
END IF; /* end of IF IF 结束*/
INSERT INTO table1 VALUES (variable1);/* statement SQL 语句*/
END /* end of block 语句块结束*/
下面我将会介绍你可以利用存储过程做的工作的所有细节。同时我们将介绍新的数据库
对象——触发器,因为触发器和存储过程的关联是必然的。
Why Stored Procedures 为什么要用存储过程
由于存储过程对于 MySQL 来说是新的功能,很自然的在使用时你需要更加注意。
毕竟,在此之前没有任何人使用过,也没有很多大量的有经验的用户来带你走他们走过
的
您可能关注的文档
- 《M27C512集成电路(存储器)》.pdf
- 《MACD的背离探讨》.pdf
- 《MACS_VI手册组态手册第一部分》.pdf
- 《Maple理论力学 教学课件 李银山 第一部分 第2章》.pdf
- 《Maple理论力学 教学课件 李银山 第三部分 第13章》.pdf
- 《Maple理论力学 教学课件 李银山 第五部分B 第20章》.pdf
- 《MapX+培训教程》.pdf
- 《Markdown 语法说明(简体中文版)》.pdf
- 《Mastering Spring MVC 3》.pdf
- 《Mastering Visual Basic .NET Database Programming (VBL)》.pdf
文档评论(0)