文档详情

《MySQL存储过程》.pdf

发布:2015-12-28约2.81万字共23页下载文档
文本预览下载声明
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 来说是新的功能,很自然的在使用时你需要更加注意。 毕竟,在此之前没有任何人使用过,也没有很多大量的有经验的用户来带你走他们走过 的
显示全部
相似文档