IT技术江湖   操作系统   安全技术   平面设计   Web开发   数据库   互联网   搜索引擎   网络广告   
引擎技术江湖  BLOG  合作联系
本站
Google
IT技术江湖
首页>数据库>MySQL5> MySQL 5.0 新特性--存储过程
  • IT技术江湖
  • MySQL 5.0 新特性--存储过程
    http://www.hack1st.com 来源: 2008-03-24 阅读: 评论

      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客户端程序中(如果你现在所读的不是电子版的,可以在mysql.com网站下载相关脚本)所以的例子都已经在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来说是新的功能,很自然的在使用时你需要更加注意。

      毕竟,在此之前没有任何人使用过,也没有很多大量的有经验的用户来带你走他们走过的路。然而你应该开始考虑把现有程序(可能在服务器应用程序中,用户自定义函数(UDF)中,或是脚本中)转移到存储过程中来。这样做不需要原因,你不得不去做。

      因为存储过程是已经被认证的技术!虽然在Mysql中它是新的,但是相同功能的函数在其他DBMS中早已存在,而它们的语法往是相同的。因此你可以从其他人那里获得这些概念,也有很多你可以咨询或者雇用的经验用户,还有许多第三方的文档可供你阅读。

    上一页12 下一页

    上一篇:MySQL 5.0-触发器(参考)  
    下一篇:MySQL 4.0 升级到5.0

    ·网友互动--用户名: (新注册) 密码: 匿名评论 [所有评论]
    评论内容:(用户发表意见仅代表其个人意见,评论内容与本站立场无关,请自觉遵守互联网相关政策法规)
    关注此文读者还看过
    • ·修改Linux下mysql 5.0.xx默认连接数
      ·MySQL 4.0 升级到5.0
      ·MySQL 5.0 新特性--存储过程
      ·MySQL 5.0-触发器(参考)
      ·Mysql入门系列:客户机程序5—MYSQL交互式
      ·MySQL5的异常处理
      ·Heartbeat_2.0.3配置MySQL5.0.18集群
      ·PHP5连接Mysql5的认证协议问题
      ·MySQL 5.1的中文支持的一个改进
      ·mysql5中遇到的字符集问题以及解决办法
    最新更新
    • ·修改Linux下mysql 5.0.xx默认连接数
      ·MySQL 4.0 升级到5.0
      ·MySQL 5.0 新特性--存储过程
      ·MySQL 5.0-触发器(参考)
      ·Mysql入门系列:客户机程序5—MYSQL交互式
      ·MySQL5的异常处理
      ·Heartbeat_2.0.3配置MySQL5.0.18集群
      ·PHP5连接Mysql5的认证协议问题
      ·MySQL 5.1的中文支持的一个改进
      ·mysql5中遇到的字符集问题以及解决办法
    文章关注度排行
    ·MySQL 4.0 升级到5.0
    ·MySQL5中文乱码解决
    ·mysql5中遇到的字符集问题以及解决办法
    ·MYSQL5的masterslave数据同步配置
    ·修改Linux下mysql 5.0.xx默认连接数
    ·MySQL 5.0-触发器(参考)
    ·MySQL 5.0 新特性--存储过程
    ·Heartbeat_2.0.3配置MySQL5.0.18集群
    热点推荐
    mysql5中遇到的字符集问题以及解决办法
    mysql5中遇到的字符集问
    频道推荐
    • ·mysql5中遇到的字符集问题以及解决办法
    本站精华
    mysql5中遇到的字符集问题以及解决办法
    mysql5中遇到
    • ·mysql5中遇到的字符集问题以及
    • | 网站导航 | 联系QQ | 编辑邮箱 | RSS订阅 | 友情链接 | 官方blog
    • 版权所有:IT技术江湖 @2007-2008
    • powered by www.hack1st.com online services. all rights reserved.京ICP备07005766号